隐藏状态栏和Toolbar
在res文件夹下的values文件夹里的styles.xml文件中
true
在AndroidManifest.xml,给需要的Activity应用上面的style即可
android:name=".ui.login.LoginActivity"
android:theme="@style/FullScreen"/>
沉浸式状态栏
半透明.jpg
下面是完全透明的效果
环境是 androidx
1、添加依赖(Material Design的依赖)
这一步自己按自己的实际应用来,我这里用到了 Material Design
implementation 'com.google.android.material:material:1.3.0-alpha01'
2、在 res 文件下的 values 文件的 styles.xml 文件中
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
false
true
并且在 res 文件夹下创建文件夹名为 values-v19、values-v21 的两个文件夹
values.jpg
values-v19 文件夹下的 styles.xml 文件中
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
true
true
true
values-v21 文件夹下的 styles.xml 文件中
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
false
true
@android:color/transparent
true
在 AndroidManifest.xml 文件中给需要的 Activity 添加 theme 引用上面的 TranslucentTheme 就行了
3、最后在需要使状态栏透明的界面的xml文件中
如果布局的内容会显示到状态栏,就在布局节点上加上以下一行代码
android:fitsSystemWindows="true"
例如下面的布局
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"
tools:context=".ui.activity.CloudMusicActivity"
android:id="@+id/drawer_layout">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@color/color_cd3e3a"
android:clickable="true"
android:orientation="vertical">
......
android:id="@+id/navigation_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@android:color/white"
android:fitsSystemWindows="true"
android:orientation="vertical">
......
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer"/>
完全透明.jpg