Toolbar 和 CollapsingToolbarLayout一起使用时menu item无点击反应解决办法
昨天一直在琢磨为什么Toolbar和CollapsingToolbarLayout一起使用时menu item无点击放应的原因,后来在stackoverflow上一条回答,说可能是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的背景设置成透明色,
android:background="@color/transprant"
这样就既能有点击反馈,又能实现上面的效果。
运行效果: