Я использую собственный макет на панели инструментов и выполняю действия в соответствии с ним. но в некоторых случаях я хочу сделать панель инструментов прозрачной, поэтому, когда я установил 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>
Как решить эту проблему, потому что в некоторых сценариях нам нужна прозрачная панель инструментов, но значок внутри нее должен отображаться.
Здесь я приложил изображение, как на самом деле выглядит.