使工具栏透明

create_account.xml

 <?xml version="1.0" encoding="utf-8"?> <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="io.sleeko.board.CreateAccountActivity"> <android.support.design.widget.AppBarLayout 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/content_create_account" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" android:layout_margin="@dimen/fab_margin" android:src="@android:drawable/ic_dialog_email" /> </android.support.design.widget.CoordinatorLayout> 

我需要使上面的ToolBar透明。 以便我们可以看到背景图片。我尝试了不同的方法。 但找不到正确的解决scheme。

请帮忙,谢谢

Solutions Collecting From Web of "使工具栏透明"

大多数时候,我们希望工具栏是半透明的,因为我们想显示内容。 问题在于,工具栏后面的内容的颜色可能与工具栏元素/文本的颜色(例如向上/向后箭头)相冲突。

出于这个原因,你会看到很多的实现工具栏实际上是不透明的,但渐变的半透明。

你可以用下面的代码获得这个:

 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar 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:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@drawable/background_toolbar_translucent" /> 

background_toolbar_translucent.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="270" android:endColor="@android:color/transparent" android:startColor="@color/black_alpha_40"/> </shape> 

colors.xml

 <color name="black_alpha_40">#66000000</color> 

你可以在渐变上玩不同的值,我发现对于白色元素,黑色的40%效果很好。

另一件你可能想要做的就是隐藏工具栏的标题。

 getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

并显示出最后的可供性

 getSupportActionBar().setDisplayShowTitleEnabled(false); 

如果在布局预览面板中看到类似的内容,请不要担心。 在这里输入图像说明

实际上与内容重叠时,它看起来非常不同:

在这里输入图像说明

这是我的解决scheme。

 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay" android:background="#00000000"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/AppTheme.PopupOverlay" /> 

尝试一下:

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/transparent" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" /> 

并用结束标记删除:

 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> 

但是不要让它透明,你可以使用颜色像#93000000那样的透明度,所以它会是这样的:

 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="#93000000" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />