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