Toolbar 和 CollapsingToolbarLayout一起使用时menu item无点击反应解决办法

时间:2022-09-01 11:31:27

  昨天一直在琢磨为什么Toolbar和CollapsingToolbarLayout一起使用时menu item无点击放应的原因,后来在*上一条回答,说可能是Toolbar的背景颜色太深导致点击时的水波纹不明显。这个启发了我,会不会是跟toolbar的背景有关呢?贴上代码:

  

<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="false"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:fitsSystemWindows="false"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:elevation="0dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

          <ImageView
         android:layout_width="match_parent"
                android:layout_height="48dp"/>
<android.support.v7.widget.Toolbar android:id="@+id/home_page_toolbar" android:layout_width="match_parent" android:layout_height="48dp" android:minHeight="44dp" app:layout_collapseMode="pin" app:navigationIcon="@mipmap/nav_menu" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> <TextView android:id="@+id/home_page_toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:text="首页" android:textColor="@color/white" android:textSize="@dimen/textsize_zhuche" /> </android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.design.widget.TabLayout android:id="@+id/tab_FindFragment_title" android:layout_width="match_parent" android:layout_height="35dp" android:background="@color/homepage_toolbar_color" android:elevation="@dimen/tablayout_elevation" app:tabIndicatorColor="@color/white" app:tabIndicatorHeight="@dimen/tabindicatorheight" app:tabMode="fixed" app:tabSelectedTextColor="@color/white" app:tabTextAppearance="@style/tabLayoutTextSize" app:tabTextColor="#F8BBD0" /> <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.ViewPager android:id="@+id/homepage_viewpager" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout> </LinearLayout> </android.support.design.widget.CoordinatorLayout>

发现果然toolbar没有设置背景,于是设置

android:background="@color/red"
果然toolbar上的memu item有点击反馈了有木有!

可是这样Toolbar就会永远占据一行的位置,我想要的是CollapsingToolbarLayout扩展的时候toolbar变得透明,像这样
Toolbar 和 CollapsingToolbarLayout一起使用时menu item无点击反应解决办法
解决办法是toolbar的背景设置成透明色,
android:background="@color/transprant"
这样就既能有点击反馈,又能实现上面的效果。
运行效果:
Toolbar 和 CollapsingToolbarLayout一起使用时menu item无点击反应解决办法