Android沉浸式状态栏开发教程:深入FastDev4Android框架(第六篇)

更新:11-17 现代故事 我要投稿 纠错 投诉

如果(Build.VERSION.SDK_INT=Build.VERSION_CODES.KITKAT){

//透明状态栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

//透明导航栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

或者你可以设置:如下

如果(Build.VERSION.SDK_INT=Build.VERSION_CODES.KITKAT){

设置半透明状态(真);

}

@TargetApi(19)

私有无效setTranslucentStatus(布尔值){

窗口赢=getWindow();

WindowManager.LayoutParams winParams=win.getAttributes();

最终int 位=WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;

如果(上){

winParams.flags |=位;

} 别的{

winParams.flags=~bits;

}

win.setAttributes(winParams);

}这样设置后,运行效果如下:

2.png

如上图,整个应用程序将状态栏的高度向上移动,所以我们需要获取状态栏的高度,并在布局中添加一个小的占位符布局来完成。

2.1.2: 获取状态栏的高度/**

* 获取状态栏的高度

* @返回

*/

私有int getStatusBarHeight(){

尝试

{

Class?c=Class.forName("com.android.internal.R$dimen");

对象obj=c.newInstance();

字段field=c.getField("status_bar_height");

int x=Integer.parseInt(field.get(obj).toString());

返回getResources().getDimensionPixelSize(x);

}捕获(异常e){

e.printStackTrace();

}

返回0;

}2.1.3:设置占位符控件的高度,使原来的布局不会改变。

LinearLayout Linear_bar=(LinearLayout)findViewById(R.id. Linear_bar);

Linear_bar.setVisibility(View.VISIBLE);

int statusHeight=getStatusBarHeight();

android.widget.LinearLayout.LayoutParams params=(android.widget.LinearLayout.LayoutParams )linear_bar.getLayoutParams();

params.height=statusHeight;

Linear_bar.setLayoutParams(params);2.1.4: 运行结果

:模拟器效果

3.png

4.png

2.2: 第三方控件(systembartint)实现库地址(Github地址)

2.2.1: 添加依赖库编译"com.readystatesoftware.systembartint:systembartint:1.0.3" 2.2.2:设置状态栏和导航方式与2.1.1相同

2.2.3:激活主题并设置颜色

SystemBarTintManager TintManager=new SystemBarTintManager(this);

//激活状态栏

TintManager.setStatusBarTintEnabled(true);

//启用导航栏色调激活导航栏

TintManager.setNavigationBarTintEnabled(true);

//设置系统栏设置颜色

//tintManager.setTintColor(R.color.red);

//设置状态栏颜色

TintManager.setStatusBarTintResource(R.color.middle_red);

//设置导航栏设置资源

TintManager.setNavigationBarTintResource(R.color.color_nav);2.2.4:布局修改、适配和填充在当前Activity布局文件的根节点上进行如下修改:

用户评论

容纳我ii

我终于在 FastDev4Android 文档里找到了关于沉浸式状态栏的教程!

    有7位网友表示赞同!

金橙橙。-

之前一直在想如何让 Android app 的状态栏更加融入屏幕,这篇文章正好解决我的问题!

    有6位网友表示赞同!

醉枫染墨

看完这篇六篇组成的系列文章后,感觉对 Android 开发掌握了更多的知识和技能!

    有17位网友表示赞同!

素婉纤尘

一直想学习 FastDev4Android 框架,这篇文章让我更有动力去尝试它!

    有14位网友表示赞同!

笑叹★尘世美

原来实现沉浸式状态栏还有这么多细节需要注意啊!

    有5位网友表示赞同!

该用户已上天

作者写的教程非常细致易懂,即使对 Android 开发不太了解的人也能理解!

    有20位网友表示赞同!

最迷人的危险

终于不用再看到碍眼的状态栏了, immersive 的体验太棒了!

    有11位网友表示赞同!

葵雨

这篇文章是我学习 Android 开发的必读资料之一!

    有5位网友表示赞同!

执笔画眉

希望 Future 可以继续提供更多关于 FastDev4Android 框架的干货文章!

    有17位网友表示赞同!

反正是我

分享给我的朋友一起学习!

    有15位网友表示赞同!

红玫瑰。

原来状态栏的颜色也可以自定义啊!以前一直不知道!

    有19位网友表示赞同!

像从了良

感谢作者辛勤付出,让大家可以更方便地完成 Android 开发!

    有12位网友表示赞同!

蹂躏少女

这篇文章给我带来了很多灵感,我打算在自己的项目里尝试使用沉浸式状态栏!

    有15位网友表示赞同!

小清晰的声音

看完了文章后,我已经迫不及待想要实战了!

    有11位网友表示赞同!

毒舌妖后

希望有更多关于 FastDev4Android 框架的学习资源!

    有9位网友表示赞同!

恰十年

这篇文章的例子很有帮助!

    有8位网友表示赞同!

tina

我之前遇到过类似的问题,幸好找到了这篇解决方案!

    有7位网友表示赞同!

站上冰箱当高冷

我已经收藏了这篇文章,方便以后查阅!

    有13位网友表示赞同!

陌上花

作者的技术水平很高,佩服!

    有19位网友表示赞同!

凉凉凉”凉但是人心

这款 FastDev4Android 框架感觉很强大!

    有20位网友表示赞同!

【Android沉浸式状态栏开发教程:深入FastDev4Android框架(第六篇)】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:优化电脑性能:高效管理VMware Workstation服务 下一篇:《2022年每日更新挑战:持续进步的旅程》