问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

安卓开发中怎样设置沉浸式状态栏

发布网友 发布时间:2022-05-05 05:17

我来回答

1个回答

热心网友 时间:2023-10-10 17:55

这个特性是andorid4.4支持的,最少要api19才可以使用。下面介绍一下使用的方法,非常得简单:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

}

}

//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

只要加入这两行代码,就可以实现沉浸式通知栏了。

给大家看看这个界面的布局:

<linearlayout android:background="#ffffff" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">

<textview android:background="#009959" android:layout_height="100dp" android:layout_width="match_parent"><button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"></button></textview></linearlayout>

大家看红色的那部分,加入那两行以后,界面仍然会是沉浸式的,但状态栏那部分,就不会再重叠了,像加了padding一样,如下图:

大家看图,绿色的textView和红色的一个button都被下移了,状态栏是白色的,是背景linearLayout的颜色。很明显,这也不是我们想要的,我们希望状态栏和我们放在顶部的控件是同一个颜色,同时,控件内容也不和状态栏重复,其实,只要把那两行代码放到我们顶部的控件就可以了。代码如下:

<linearlayout android:background="#ffffff" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">

<textview android:background="#009959" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="100dp" android:layout_width="match_parent" android:text="你好,请问你有男朋友吗/"><button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"></button></textview></linearlayout>

就是那两行红色的代码,放在绿色的textView上,这样,就会是下面的效果:

这就是我们想要的了。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
原神七神实力排名谁最擅长战斗 原神七神实力排名官方 原神七神是谁分别叫什么名字 水最高温度是多少度 什么有脚不走路下是什么 618淘特买返红包规则是什么?附购物津贴规则 淘宝特价版新增“官方补贴”频道 梦见白色黄鼠狼跟我说话,我给它磕了三个头,还梦见一只黄色的也跟... qq好友动态提醒怎么关闭 关于再见2023你好2023跨年朋友圈说说句子八十句 再见2020,你好2021说说句子80条 梦见姐妹和她们的孩子 欧珀手机忘记密码怎么办? - 信息提示 欧泊r815手机耳机模式在哪儿设置 android中状态栏怎么布局 求一篇作文怎么跟姐妹道歉 android 怎么实现显示状态栏 与姐妹同行作文大全 欧泊手机突然死机怎么办 关于那个姐妹俩的作文大全 我欧伯手机的帐号忘了怎么办能重新申请吗? 怎么修改android状态栏的位置? 欧泊R7c手机如何打开录音功能 欧珀手机视频不了怎么办 Android Studio中自定义标题栏的添加问题 欧珀手机显示温度过低无法充电。怎么办? 个人所得税app有多个受雇单位,会不会影响自己的工作跟个税的扣缴? 欧珀手机忘记密码怎么办?刷机也刷不开 欧泊锁屏忘记图案怎么办 欧珀手机打王者为什么会闪退该怎么办? 如何实现android沉浸式状态栏 android状态栏 变进度条怎么做 三星s6加忘记混合密码了怎么办 android studio怎么做沉浸式状态栏 android 状态栏和标题栏具体是哪里 火星离地球多少厘米 三星s6加忘记混合密码怎么办? 火星离地球究竟有多远 人类可以去火星生活吗 火星离地球有多少米??? 到底是该多喝牛奶还是少喝牛奶? 多喝牛奶对人体有什么好处和坏处? 为什么说饮食中应多喝牛奶? 每天喝牛奶的人与不喝牛奶的人有什么区别? 喝牛奶和不喝牛奶的人有什么差别? 多喝牛奶有什么不好!!!?? 多喝牛奶对身体有哪些危害? 天天喝牛奶,也不知道有啥好处,谁给详解一下啊 普通和田青玉吊坠便宜的有多少钱呢? 有没有关于鸭子的谜语? 鸭子谜语怎么编
  • 焦点

最新推荐

猜你喜欢

热门推荐