Android. CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout的小问题

本文详细探讨了Android中CoordinatorLayout、AppBarLayout和CollapsingToolbarLayout的使用,包括fitsSystemWindows属性、背景色设定、内容颜色以及滑动行为的配置。通过设置滑动标志、折叠模式和滚动倍数,实现滑动隐藏布局与Toolbar的完美交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,CoordinatorLayout 

      android:fitsSystemWindows="true"

2,AppBarLayout

      android:background="#ffffff"   // 设置头部的背景色,替换系统颜色

      android:fitsSystemWindows="true"      

   app:elevation="@dimen/0dp" 设置toobar没有卡片效果

3,CollapsingToolbarLayout

      android:fitsSystemWindows="true" 

      app:contentScrim="@color/color_FFFFFF". // 设置标题栏在折叠后的内容颜色

      app:statusBarScrim="@color/color_FFFFFF" // 设置标题栏在折叠后的状态栏颜色

  3.1  内部的控件.(滑动隐藏的布局,可以解决滑动后布局消失时与toolbar有重叠部分的问题)

     app:layout_scrollFlags="scroll|exitUntilCollapsed"  

     app:layout_collapseMode="parallax"

     app:layout_collapseParallaxMultiplier="1"      

 3.2 toolbar (设置滑动toolbar不隐藏)

      app:layout_collapseMode="pin"  

<?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:fitsSystemWindows="true"
        android:orientation="vertical"
        >

    <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/dp_220"
            android:animateLayoutChanges="true"
            android:background="#ffffff"
            android:fitsSystemWindows="true"
            app:layout_behavior=".weigit.FlingBehavior"
            app:elevation="@dimen/dp_0"
            android:stateListAnimator="@animator/show_toolbar"
            >

        <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsingToolbar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                app:contentScrim="@color/color_FFFFFF"
                app:statusBarScrim="@color/color_FFFFFF"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:titleEnabled="false"
                app:toolbarId="@id/toolbar"
                >

            <include layout="@layout/layout_org_home_head" />


            <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    style="@style/Base.Widget.AppCompat.Toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    android:background="@android:color/transparent"
                    app:contentInsetStartWithNavigation="0dp"
                    app:layout_collapseMode="pin"
                    app:navigationIcon="@drawable/ice_back"
                    app:title="@string/iceTitle"
                    app:titleTextColor="@color/color_8F8B8B"
                    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    />

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

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


    <android.support.v4.widget.NestedScrollView
            android:id="@+id/plant_detail_scrollview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            >

        <include layout="@layout/common_recycle_view_layout" />

    </android.support.v4.widget.NestedScrollView>



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

 

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="@dimen/dp_220"
        android:fitsSystemWindows="true"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:layout_constraintVertical_bias="1"
        app:layout_collapseMode="parallax"
        app:layout_collapseParallaxMultiplier="1"
        >

        <ImageView
                android:id="@+id/iv_head"
                android:layout_width="@dimen/dp_65"
                android:layout_height="@dimen/dp_65"
                android:layout_marginStart="@dimen/dp_25"
                android:layout_marginTop="@dimen/dp_10"
                android:scaleType="centerCrop"
                android:src="@drawable/institutions_head"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintBottom_toTopOf="@id/tv_authority"
                android:layout_marginBottom="@dimen/dp_20"
                android:contentDescription="@string/head"
                />

        <TextView
                android:id="@+id/tv_content_num"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="@dimen/dp_20"
                android:lines="1"
                android:textColor="@color/color_333333"
                android:textSize="@dimen/textSize_21"
                app:layout_constraintBottom_toTopOf="@id/tv_content_name"
                app:layout_constraintEnd_toStartOf="@id/tv_fans_num"
                app:layout_constraintHorizontal_bias="0.98"
                app:layout_constraintHorizontal_chainStyle="spread"
                app:layout_constraintStart_toEndOf="@id/iv_head"
                app:layout_constraintTop_toTopOf="@id/iv_head"
                app:layout_constraintVertical_chainStyle="spread"
                />

        <TextView
                android:id="@+id/tv_content_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/dp_10"
                android:text="@string/content"
                android:textColor="@color/color_999999"
                android:textSize="@dimen/textSize_13"
                app:layout_constraintBottom_toBottomOf="@id/iv_head"
                app:layout_constraintEnd_toEndOf="@id/tv_content_num"
                app:layout_constraintStart_toStartOf="@id/tv_content_num"
                app:layout_constraintTop_toBottomOf="@id/tv_content_num"
                />

        <TextView
                android:id="@+id/tv_fans_num"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:lines="1"
                android:textColor="@color/color_333333"
                android:textSize="@dimen/textSize_21"
                app:layout_constraintBaseline_toBaselineOf="@id/tv_content_num"
                app:layout_constraintBottom_toTopOf="@id/tv_fans_name"
                app:layout_constraintEnd_toStartOf="@id/tv_concern_btn"
                app:layout_constraintStart_toEndOf="@id/tv_content_num"
                app:layout_constraintTop_toTopOf="@id/iv_head"
                app:layout_constraintVertical_chainStyle="spread"

                />

        <TextView
                android:id="@+id/tv_fans_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/fans"
                android:textColor="@color/color_999999"
                android:textSize="@dimen/textSize_13"
                app:layout_constraintBaseline_toBaselineOf="@id/tv_content_name"
                app:layout_constraintBottom_toBottomOf="@id/iv_head"
                app:layout_constraintEnd_toEndOf="@id/tv_fans_num"
                app:layout_constraintStart_toStartOf="@id/tv_fans_num"
                app:layout_constraintTop_toBottomOf="@id/tv_fans_num"
                />

        <TextView
                android:id="@+id/tv_concern_btn"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginEnd="@dimen/dp_20"
                android:background="@drawable/background_my_concern"
                android:clickable="true"
                android:focusable="true"
                android:paddingStart="@dimen/dp_10"
                android:paddingTop="@dimen/dp_3"
                android:paddingEnd="@dimen/dp_10"
                android:paddingBottom="@dimen/dp_3"
                android:text="@string/concerned"
                android:textColor="@color/color_FFFFFF"
                android:textSize="@dimen/textSize_15"
                app:layout_constraintBottom_toBottomOf="@id/iv_head"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="@id/iv_head"
                />

        <View
                android:layout_width="@dimen/dp_1"
                android:layout_height="@dimen/dp_25"
                android:background="@color/color_D8D8D8"
                app:layout_constraintBottom_toBottomOf="@id/iv_head"
                app:layout_constraintEnd_toStartOf="@id/tv_fans_num"
                app:layout_constraintStart_toEndOf="@id/tv_content_num"
                app:layout_constraintTop_toTopOf="@id/iv_head"
                />

        <TextView
                android:id="@+id/tv_authority"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_20"
                android:layout_marginEnd="@dimen/dp_20"
                android:drawableStart="@drawable/vip_ico"
                android:drawablePadding="@dimen/dp_5"
                android:textColor="@color/color_666666"
                android:textSize="@dimen/textSize_17"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintBottom_toTopOf="@id/tv_authority_content"
                />

        <TextView
                android:id="@+id/tv_authority_content"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/dp_20"
                android:layout_marginTop="@dimen/dp_10"
                android:layout_marginEnd="@dimen/dp_20"
                android:layout_marginBottom="@dimen/dp_10"
                android:drawableStart="@drawable/introduction_ico"
                android:drawablePadding="@dimen/dp_5"
                android:maxLines="3"
                android:textColor="@color/color_666666"
                android:textSize="@dimen/textSize_17"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintVertical_bias="0"
                />
</android.support.constraint.ConstraintLayout>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值