toolbar不响应点击的问题

来源:互联网 发布:淘宝二手主板可以买吗 编辑:程序博客网 时间:2024/05/16 04:50

为了去掉toolbar的阴影,我将elevation赋值为0dp,发现这么做后toolbar就不响应NavigationOnClick了代码如下:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:context="com.shenjingyuan.shenjingyuan002.buildingsitemonitoring.ui.activity.OverLookActivity">    <android.support.design.widget.AppBarLayout        app:elevation="0dp"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:theme="@style/AppTheme.AppBarOverlay">        <android.support.v7.widget.Toolbar            android:id="@+id/toolbar"            android:layout_width="match_parent"            android:layout_height="?attr/actionBarSize"            android:background="?attr/colorPrimary"            app:popupTheme="@style/AppTheme.PopupOverlay" />    </android.support.design.widget.AppBarLayout>   <include layout="@layout/project_over_look"/></android.support.design.widget.CoordinatorLayout>

原因是应为CoordinatorLayout类似于FrameLayout,在CoordinatorLayout中后申明的元素会处于先声明元素的上面。解决方法:

  • 将AppBarLayout放在最后声明就可以解决这个问题。
  • 当然也可以通过LinearLayout解决,应为这个布局不会纯在重叠的问题。
  • 也可以通过对AppBarLayout的elevation赋值,使其高于其他元素。但是这个将会影响外观。
0 0