我在工具栏内采用自定义布局并根据它执行操作。
但在某些情况下,我想让工具栏透明,所以当我设置 app:elevation="0dp"
时,它会隐藏我的自定义布局,但单击该区域时仍会执行操作。
我在工具栏中使用了以下布局。
已编辑
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarMain"
app:elevation="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:background="@null"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/iv_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:contentDescription="@null"
android:padding="@dimen/activity_vertical_margin"
android:src="@drawable/ic_menu" />
<FrameLayout
android:id="@+id/frmNotification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/iv_menu"
android:layout_toRightOf="@+id/iv_menu"
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"
android:padding="@dimen/padding_5">
<ImageView
android:id="@+id/iv_notification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@null"
android:padding="@dimen/padding_5"
android:src="@drawable/ic_notification" />
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="@dimen/padding_5"
android:background="@drawable/bg_bage">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/eight"
android:textColor="@android:color/white"
android:textSize="@dimen/font_8" />
</FrameLayout>
</FrameLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/frmNotification"
android:contentDescription="@null"
android:src="@drawable/logo_header" />
<ImageView
android:id="@+id/ivElasticSearch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:paddingLeft="@dimen/padding_10"
android:paddingRight="@dimen/padding_15"
android:src="@drawable/ic_search" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
如何克服这个问题,因为在某些情况下我们想要透明的工具栏,但应该显示其中的图标。
在这里,我附上了图片的实际外观。
最佳答案
你对 app:elevation="someValue"
的想法是错误的,它不会隐藏工具栏。属性 app:elevation
用于显示你想要制作多少 toolbar
或任何其他支持该属性的 view
提升到表面上方。将表面视为放置 View 的地板,现在如果你想显示一些像 toolbar
这样的 View 被提升到其他 View ,你可以使用该属性。
如果你想让它透明,就像 this 一样。
根据 Material Design Guidelines , appbar
的高程应该是 4dp
。所以你不应该把它设置为 0dp
。
关于android - 应用 :elevation ="0dp" hide layout inside toolbar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49727760/