失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > (AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏

(AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏

时间:2019-09-20 05:02:00

相关推荐

(AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏

上一章介绍了,Android全透明沉浸式主题样式——顶部状态栏+底部导航栏,教程传送门链接:

(AS笔记)Android全透明沉浸式主题样式——顶部状态栏+底部导航栏

CSND链接:/qq_39038178/article/details/119657376

(1)前提:必须使用注意“parent="Theme.AppCompat.Light.NoActionBar"

<!-- 全透明 沉浸式主题样式 --><style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">

(2)欢迎页全屏沉浸(不推荐):以下代码,能成功隐藏底部导航栏,但是,全面屏手机顶部状态栏,没有隐藏效果——此代码,不能解决顶部状态栏黑条

/*** 全屏沉浸隐藏底部导航栏* @param hasFocus*/@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);if (hasFocus) {getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}}

(3)欢迎页全屏沉浸(推荐):改动代码,成功隐藏底部导航栏,成功隐藏顶部状态栏——此代码,解决顶部状态栏黑条——需完成方式一方式二——其中一种方式

/*** 全屏沉浸隐藏底部导航栏* @param hasFocus*/@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);if (hasFocus) {getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}}

调用(3)方式一单个指定的Activity使用:在setContentView之前设置

@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);/*** 设置顶部状态栏全透明*/if (Build.VERSION.SDK_INT >= 21) {View decorView = getWindow().getDecorView();decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);getWindow().setStatusBarColor(Color.TRANSPARENT);}/*** 参数设置在上面*/setContentView(R.layout.activity_guide);.........

调用(3)方式二全局项目指定使用:resources资源目录valus的themes.xml或style.xml中添加如下主题,并在AndroidManifest.xml注册清单的Application标签中调用此主题即可

<!-- 全透明 沉浸式主题样式 --><style name="TranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar"><!-- 设置状态栏半透明——解除注释 --><item name="android:windowTranslucentStatus">false</item><!-- 设置底部导航栏半透明,默认false黑色,设置true半透明 --><item name="android:windowTranslucentNavigation">true</item><!-- Android 5.0+,设置状态栏全透明透明 --><item name="android:statusBarColor" tools:targetApi="l">@android:color/transparent</item></style>

AndroidManifest.xml注册清单的Application标签中调用TranslucentTheme主题

(4)实现效果图:

如果觉得《(AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。