小编bol*_*er5的帖子

当CollapsingToolbarLayout的子项时,不会调用Android布局行为

我试图layout_behavior在一个元素上设置一个子元素CollapsingToolbarLayout但是从不在iv_header视图上调用行为.当它固定在外面时,例如tv_follow视图,它可以很好地工作.

文档没有明确说明layout_behavior不能在一个AppBarLayout或那个范围内应用CollapsingToolbarLayout我因为它不工作而感到茫然.

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="@dimen/full_header_height"
        android:focusable="true"
        android:focusableInTouchMode="true">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/iv_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop"
                android:contentDescription="@null"
                app:layout_behavior="com.package.view.HidingBehavior"
                app:layout_collapseMode="parallax"
                android:src="@drawable/profile_background"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/header_toolbar"
                android:layout_height="@dimen/action_bar_height"
                android:layout_width="match_parent"
                android:background="@drawable/toolbar_dark_gradient_half"
                android:gravity="top"
                app:layout_collapseMode="pin"/>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    <TextView
        android:id="@+id/tv_follow"
        android:textSize="20sp"
        android:textColor="@android:color/white"
        android:text="@string/follow"
        android:drawableLeft="@drawable/comm_follow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_anchor="@id/header"
        app:layout_anchorGravity="center"
        app:layout_behavior="com.package.view.HidingBehavior"
        android:drawablePadding="8dp"
        android:gravity="center"
        android:visibility="gone"
        android:fitsSystemWindows="true"/>

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

行为被从设计支持库中的FloatingActionButton代码中拉出.

public class HidingBehavior extends CoordinatorLayout.Behavior<View>{ …
Run Code Online (Sandbox Code Playgroud)

android androiddesignsupport android-coordinatorlayout android-collapsingtoolbarlayout

9
推荐指数
1
解决办法
1万
查看次数