1. 程式人生 > >android 修改狀態列顏色

android 修改狀態列顏色

android狀態列顏色修改 狀態列顏色的修改在4.4和5.x環境下分別有不同的方式,低於4.4以下是不能修改的。

5.x環境下

方式一,狀態列將顯示為純淨的顏色,沒有漸變效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /** * 狀態列相關工具類 * */ public class StatusBarUtils { public static void setWindowStatusBarColor(Activity activity, int colorResId) {
try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = activity.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(activity.getResources().getColor(colorResId)); //底部導航欄 //window.setNavigationBarColor(activity.getResources().getColor(colorResId));
} catch (Exception e) { e.printStackTrace(); } } public static void setWindowStatusBarColor(Dialog dialog, int colorResId) { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = dialog.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(dialog.getContext().getResources().getColor(colorResId)); //底部導航欄 //window.setNavigationBarColor(activity.getResources().getColor(colorResId)); } catch (Exception e) { e.printStackTrace(); } } }
效果圖如下:狀態列被改成android.R.color.holo_blue_bright,標題欄顏色可以和狀態列一樣,EditText的輸入也沒有受影響   ps:如果頂部為漸變效果,可能是在主題中設定windowTranslucentStatus=true屬性。 方式二: 通過Style來修改狀態列顏色。 1.設定 colorPrimary,colorPrimaryDark兩個顏色。
1 2 3 4 <stylename="AppTheme"parent="Theme.AppCompat.Light.NoActionBar"> <itemname="colorPrimary">@android:color/holo_blue_bright</item> <itemname="colorPrimaryDark">@android:color/holo_blue_bright</item> </style>
2. AndroidManifest.xml檔案中的targetSdkVersion必須設定在21以上。 3.parent主題必須是Theme.AppCompat開頭,相容包下的主題,所以必須一用v7包。 colorPrimary,colorPrimaryDark這兩個屬性是Material Design風格中規定的。具體位置如下圖所示: 方式三: 1.在res/values-v19資料夾下新增styles.xml檔案內容如下
1 2 3 <stylename="AppTheme"parent="@style/BaseAppTheme"> <itemname="android:windowTranslucentStatus">true</item

相關推薦

Android修改狀態顏色

最近公司的專案,要求統一狀態列,做了之後在別的手機上都完美適配。但在華為mate10pro上卻成了介個樣子。試了好多種方法無果後,最終找到了以下介個工具類,有遇到相同問題的童鞋可以參考哦!public class StatusBarUtil {    public stati

android 修改狀態顏色

android狀態列顏色修改 狀態列顏色的修改在4.4和5.x環境下分別有不同的方式,低於4.4以下是不能修改的。 5.x環境下 方式一,狀態列將顯示為純淨的顏色,沒有漸變效果 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

nativescript修改android狀態顏色

if (app.android && Platform.device.sdkVersion >= '21') { let window = app.android.startActivity.getWindow(); window.setStatusBarCo

Android修改狀態的背景顏色

一,概述 我相信很多初入Android開發的開發者都為自己開發的app的狀態列煩惱過,狀態列和自己的介面風格格格不入,但是不知道如何修改這個狀態列的顏色,感覺無從下手.我最近就是被這個狀態的預設風格搞得焦頭爛額,終於找到了相應的解決辦法.雖然程式碼不是我寫的,我也只能看懂一

android沉浸式狀態、變色狀態、透明狀態修改狀態顏色及透明

首先我要區分清楚沉浸式狀態列與變色狀態列。 沉浸式狀態列指的是,狀態列隱藏,在手指做了相關操作後,狀態列顯示出來,例如視訊播放器,在播放視訊時是隱藏狀態列的,但是點選螢幕的時候,狀態列會顯示出來,再例如文字閱讀器,在閱讀的時候是全屏的,然後從螢幕上方下滑或者下

Android 五步修改狀態顏色

五步修改狀態列顏色 標籤(空格分隔): 狀態列顏色變化 Android開發一直以來對安卓系統的狀態列都不大滿意,在4.4以前只能選擇隱藏或者顯示,而不能夠改變其顏色以適應我們自己APP的整體風格。在安卓5.0釋出以後,介面實在美到爆,狀態列的顏色也可以自定義了。於是乎我

Android修改狀態顏色全方位教程

content android-m 控件 -c mst exc icon turn span 關鍵字:狀態欄著色 透明狀態欄 沈浸式 白底黑字 Github Demo:https://github.com/imflyn/Eyes 參考文章: Android-transul

Android 修改狀態狀態列為view的圖片的一部分)①

Android 修改狀態列,讓狀態列和佈局中view的第一個圖片重合 效果圖如下: 這個效果完全可以用style來達到效果 下面是根據stysle來改動 在res下新建一個values-v19 新建styles.xml <?xml version="1.

flutter 修改狀態顏色 不透明 半透明

// 以下兩行 設定android狀態列為透明的沉浸。寫在元件渲染之後,是為了在渲染後進行set賦值,覆蓋狀態列,寫在渲染之前MaterialApp元件會覆蓋掉這個值。 void main() { runApp(new MyApp()); SystemUiOverlayStyle systemUiO

android設定狀態顏色為深色

public boolean setDeepStatusBar(boolean isChange,Activity mActivity) { if (!isChange){ return false; } if(Build.VERSI

Android 修改狀態和沉浸式佈局總結

不多說獻上工具類。package com.yazhi1992.practice.immersion_status_bar; import android.app.Activity; import android.content.Context; import android

Android改變狀態顏色導航不變

(1) 在你的activity oncreate 中新增 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);  if (Build.VERSION.SDK_INT >=

Android改變狀態顏色及沉浸式模式的封裝

talk is cheap,show me your code. /** * Author: zhangbo * Data:2018/9/7 * TODO: */ public class StatusBarUtil { /** *

Android更改狀態顏色

Android的更改狀態列顏色是從API19開始的,當然好像之前版本的也能更改,不過具體怎麼改,我沒有研究過,就不做說明了,因為現在也有很多的Theme,沉浸式都能改變,不過那是整體改變,我只提供給activity單獨改變,因為我們的需求就是每個頁面上方的狀態列顏色是不一致

android設定狀態顏色(沉浸式狀態

設定狀態列顏色的方法是andorid4.4以後支援的,最少要api19以上才可以使用喲。 方法如下: 第一種↓ public static void setStatusBarTranslucent(ViewGroup vg, Activ

90、setStatusBarStyle無效問題 修改狀態顏色 只有白色黑色可選UIStatusBarStyleLightContent

info.plist檔案中, View controller-based status bar appearance項設為YES,則View controller對status bar的設定優先順序

iOS9.0修改狀態顏色

1.將 View controller-based status bar appearance 刪除(預設為 YES),或設定為YES 2.設定rootViewcontroller,如果為viewController,那麼重寫下面的方法 -(UIStatu

Android實現修改狀態背景、字型和圖示顏色的方法

前言: Android開發,對於狀態列的修改,實在是不友好,沒什麼api可以用,不像ios那麼方便.但是ui又喜歡只搞ios一套.沒辦法.各種翻原始碼,寫反射.真的蛋疼. 需求場景: 當toolbar及狀態列需要為白色或淺色時(如簡書),狀態列由於用的Light風格Theme,字型,

Qt android 設定系統狀態列為全透明,半透明、全屏,設定狀態顏色修改程式圖示

實現Qt平臺下,安卓系統狀態列的相關設定(全透明,半透明、全屏,設定狀態列顏色,修改程式圖示,網上文章大多數提供多種方法,但是講述的雲裡霧裡,沒有說清楚,以下是本人自己整理,希望大家相互交流學習) 實驗環境: Qt 5.12 程式語言:qml 和 c++ 執行平臺:android 正

android系統修改狀態背景色以及文字顏色

修改狀態列的顏色一般是android系統5.1以上才支援,程式碼如下 activity.getWindow().setStatusBarColor(activity.getResources().getColor(R.color.custom_status_bar_c