当前位置:首页 » 安卓系统 » android状态栏图标

android状态栏图标

发布时间: 2023-04-27 23:46:16

Ⅰ Android 和 iOS 的状态栏 各有什么特点,哪个更好

Android的状态栏在左边会显示新通知的图标,所以不用下拉就能大体知道有什么通知。并且Android的通知图标类似OSX Dock上的图标是可以实时更新的,比如说Shadowsocks就可以实时地显示网络速度。

iOS的状态栏在有网络访问的时候会显示一个Loading的Indicator,与之对应Android在ICS和JB时代会在网络连接的图标上显示小箭头表示数据活动。但是这个小箭头一般的用户很难察觉并且会消耗一些系统资源,所以在Kitkat上被移到了快速设置面板里头。此外原生Android系统在无法正常访问Google服务器的时候网络连接的图标会变颜色。

iOS的状态栏有一个特性就是当前运行的应用可以在上头显示任何文字,比如读知乎会在状态栏上显示缓存进度,QQ会在状态栏上显示未读消息。iOS 7更是允许应用定制状态栏主题把状态栏作为与应用合为一体的一部分,不过这个特性没过几个月就被Kitkat山寨过去了。(准确来说Kitkat只是提供了这个API,第三方应用愿意做成这样是可行的,但是Google自家的应用还是保留了传统的黑色状态栏)

iOS有一个全局的,相当键盘上的Home键的手势——触模状态栏。

当收到新通知的时候,Android的状态栏会短暂地显示预览,而iOS则可以在通知中心中设定是否启用横幅通知。Android这一设计的优点是对用户的干扰小,缺点是相对来说没那么醒目,并且在全屏应用中不会显示。希望以后Android有办法实现在全屏应用中收到新通知自动显示状态栏。

还有一个功能在我第一次用iOS 5就觉得很好,但其实应该是属于通知中心的范畴而不是状态栏,那就是在全屏的应用中也可以在屏幕顶端呼出通知中心的下拉把手,之手各种定制Android和一些第三方工具都开始模仿这个功能,但直到Kitkat才正式把这个功能山寨。

补充一条,iOS的状态栏上有个屏幕旋转方向锁定的图标,Android没有,我觉得这个图标对于平板还是有用的。

就我个人而言,Android状态栏能显示通知图标是一项更实用的功能,但是iOS状态栏的一些细节确实不错。

Ⅱ 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 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" 也可以。

最终实现的效果如下:

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

热点内容
sql脚本加斜杠 发布:2025-05-20 15:40:21 浏览:620
搭建服务器创建小程序 发布:2025-05-20 15:34:40 浏览:623
精通脚本 发布:2025-05-20 14:42:56 浏览:385
东方财富经典版如何更改密码 发布:2025-05-20 14:42:43 浏览:944
砸口红解压 发布:2025-05-20 14:41:02 浏览:511
配置sp失败怎么办 发布:2025-05-20 14:35:08 浏览:179
java学到什么程度 发布:2025-05-20 14:31:54 浏览:480
压缩误差分析 发布:2025-05-20 14:27:53 浏览:98
每秒上亿次访问服务器怎么处理 发布:2025-05-20 14:10:07 浏览:315
按键精灵数据库操作 发布:2025-05-20 14:08:33 浏览:593