导航:首页 > 操作系统 > android50状态栏图标

android50状态栏图标

发布时间:2023-07-12 02:00:53

‘壹’ android导航栏与状态栏颜色及透明度

首先创建一个空项目,如下图

可以看到状态栏是白字黑背景, 导航栏也是白图标黑背景
嘿嘿, 我们先把状态栏隐藏掉,在添加一个ImageView, 让ImageView做背景(方便查看)

样子如下:

将状态栏和导航栏设置透明, 找到 Manifest.xml 文件, 在主题样式中修改

android:statusBarColor 设置状态栏背景色
android:navigationBarColor 同上
android:windowLightStatusBar 设置状态栏文字色, true为深色, false为白色
android:windowLightNavigationBar 同上
android:windowTranslucentStatus 设置状态栏半透明状态, true为半透明, false为不透明
android:windowTranslucentNavigation 同上

最后两个半透明状态下面没用, 可自己尝试看效果

效果图如下:

可以看到导航栏与状态栏并没有透明,原因是默认不能占用状态栏空间与导航栏空间,根布局背景为白色,所有这里显示白色
可以通过设置 getWindow().getDecorView().setSystemUiVisibility() 来适配

View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 适配状态栏空间
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 适配导航栏空间
效果如下:

‘贰’ android notification怎么在状态栏显示图标

根据activity的生命周期,在activity不显示时,会执行onStop函数,所以你在onStop函数(按退出键除外)里面把notification放在通知栏里,再此显示时,把notification从通知栏里去掉。
或者,只要程序在运行就一直显示通知栏图标,这样简单点。
privatevoid showNotification() {
// 创建一个NotificationManager的引用
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
// 定义Notification的各种属性
Notification notification =new Notification(R.drawable.icon,
天籁之音播放器, System.currentTimeMillis());
notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的Ongoing即正在运行组中
notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的清除通知后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.defaults = Notification.DEFAULT_LIGHTS;
notification.ledARGB = Color.BLUE;
notification.ledOnMS =5000;
// 设置通知的事件消息
CharSequence contentTitle =天籁之音正在播放……; // 通知栏标题
CharSequence contentText =ameyume; // 通知栏内容
Intent notificationIntent =new Intent(context, MusicDemo.class); // 点击该通知后要跳转的Activity
PendingIntent contentItent = PendingIntent.getActivity(context, 0,
notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText,
contentItent);
// 把Notification传递给NotificationManager
notificationManager.notify(0, notification);}
去掉通知栏通知的方法
// 启动后删除之前我们定义的通知
NotificationManager notificationManager = (NotificationManager) this

‘叁’ 请问下Android的状态栏这个图标(一个向左的箭头,中间是三个点)是什

那个是状态栏软件的活动的提醒,表示有提醒

‘肆’ Android设置状态栏颜色和状态栏文字、图标颜色

Android开发中,经常需要实现下图状态栏的效果,类似于沉浸式状态栏,但这里仅仅是讨论设置状态栏的颜色和状态栏上面文字、图标的颜色的方法。

Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清,像下面这样:

有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方法,比如小米的MIUI和魅族的Flyme,所以考虑了下比较好的实现方式是:

当然,这里面也会有坑,比如 MIUI 提供的修改状态栏字体颜色方法会跟 Android 系统自带的方法冲突,官方说明如下: 关于MIUI状态栏字符颜色逻辑调整说明
经过网上的资料和自己的尝试,MIUI 系统还是同时使用 MIUI 提供的方法和 Android 系统自带的方法来修改状态栏字体颜色比较保险。

基于上面的思考,封装了设置 Android 4.4 以上系统状态栏颜色和状态栏字体、图标颜色的方法:

要在 Application Theme 加上 <item name="android:fitsSystemWindows">true</item> ,不然页面会顶到状态栏上面,或者在 Activity 的布局里面加上 android:fitsSystemWindows="true" 和 android:clipToPadding="false" 也可以。

最终实现的效果如下:

大家有更好的方案可以告诉我~

阅读全文

与android50状态栏图标相关的资料

热点内容
单片机中三位数码管原件 浏览:140
pdf可以删除其中一页 浏览:216
清dns缓存的命令 浏览:103
免费pdf在线转换 浏览:768
堆货算法 浏览:878
vsc编译vc程序 浏览:197
centos55命令 浏览:709
美国干编程有什么条件 浏览:505
阿里云服务器远程链接 浏览:251
墨镜慧眼怎么下载厂商的app 浏览:62
iphone加密专线 浏览:493
aes产生加密文件 浏览:416
编程实现蓝牙通信 浏览:769
怎么恢复掉签的app 浏览:849
服务器部署ip地址 浏览:323
涉密场所周边安全防护距离算法 浏览:674
安卓fpse模拟器怎么设置加速 浏览:948
建行app怎么生成电子签章 浏览:510
获取当前时间javadate 浏览:75
带密码的wifi如何加密 浏览:239