您的位置:首页 > 其它

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

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

  

<android.support.design.widget.CoordinatorLayoutxmlns: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上的memuitem有点击反馈了有木有!

可是这样Toolbar就会永远占据一行的位置,我想要的是CollapsingToolbarLayout扩展的时候toolbar变得透明,像这样


解决办法是toolbar的背景设置成透明色,

android:background="@color/transprant"
这样就既能有点击反馈,又能实现上面的效果。
运行效果:




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: