導航:首頁 > 操作系統 > 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狀態欄圖標相關的資料

熱點內容
手動添加dns伺服器加什麼數字 瀏覽:558
單片機中三位數碼管原件 瀏覽:140
pdf可以刪除其中一頁 瀏覽:216
清dns緩存的命令 瀏覽:103
免費pdf在線轉換 瀏覽:768
堆貨演算法 瀏覽:878
vsc編譯vc程序 瀏覽:197
centos55命令 瀏覽:709
美國干編程有什麼條件 瀏覽:505
阿里雲伺服器遠程鏈接 瀏覽:251
墨鏡慧眼怎麼下載廠商的app 瀏覽:63
iphone加密專線 瀏覽:493
aes產生加密文件 瀏覽:417
編程實現藍牙通信 瀏覽:771
怎麼恢復掉簽的app 瀏覽:849
伺服器部署ip地址 瀏覽:323
涉密場所周邊安全防護距離演算法 瀏覽:674
安卓fpse模擬器怎麼設置加速 瀏覽:948
建行app怎麼生成電子簽章 瀏覽:510
獲取當前時間javadate 瀏覽:75