TestFloatingBehavior.java revision 5ee7b3de4f2bbecd3eb7e346809250d9ca806a9e
15ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov/* 25ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * Copyright (C) 2016 The Android Open Source Project 35ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * 45ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * Licensed under the Apache License, Version 2.0 (the "License"); 55ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * you may not use this file except in compliance with the License. 65ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * You may obtain a copy of the License at 75ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * 85ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * http://www.apache.org/licenses/LICENSE-2.0 95ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * 105ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * Unless required by applicable law or agreed to in writing, software 115ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * distributed under the License is distributed on an "AS IS" BASIS, 125ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * See the License for the specific language governing permissions and 145ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov * limitations under the License. 155ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov */ 165ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovpackage android.support.design.widget; 175ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov 185ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovimport android.content.Context; 195ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovimport android.support.v4.view.ViewCompat; 205ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovimport android.util.AttributeSet; 215ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovimport android.view.View; 225ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovimport android.widget.TextView; 235ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov 245ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikovpublic class TestFloatingBehavior extends CoordinatorLayout.Behavior<TextView> { 255ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov public TestFloatingBehavior(Context context, AttributeSet attrs) { 265ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov } 275ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov 285ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov @Override 295ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov public boolean layoutDependsOn(CoordinatorLayout parent, TextView child, View dependency) { 305ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov return dependency instanceof Snackbar.SnackbarLayout; 315ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov } 325ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov 335ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov @Override 345ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov public boolean onDependentViewChanged(CoordinatorLayout parent, TextView child, 355ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov View dependency) { 365ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov ViewCompat.setTranslationY(child, Math.min(0, 375ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov ViewCompat.getTranslationY(dependency) - dependency.getHeight())); 385ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov return true; 395ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov } 405ee7b3de4f2bbecd3eb7e346809250d9ca806a9eKirill Grouchnikov} 41