2017-07-19 151 views
1

我想知道如何實現Google日曆的外觀。 enter image description here倒立圖標的Android半透明狀態欄

即:

  • 倒立狀態欄圖標
  • 自定義狀態欄的顏色(不是默認顏色透明度windowTranslucentStatus設置)
  • 窗口小部件的頂部填充調整到狀態欄下

我已經試過:

設置windowTranslucentStatus禁用windowLightStatusBar:

<item name="android:windowDrawsSystemBarBackgrounds">true</item> 
<item name="android:windowLightStatusBar">true</item> 
<item name="android:windowTranslucentStatus">true</item> 

允許充分的透明度,只在(之間沒有顏色),fitSystemWindows無法正常工作:

<item name="android:windowLightStatusBar">true</item> 
<item name="android:windowDrawsSystemBarBackgrounds">true</item> 
<item name="android:statusBarColor">#19000000</item> 

window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS) 

感謝。

回答

1

是的,你可以更改狀態欄圖標顏色爲黑色。新增這個在你的價值觀-V23/styles.xml

<item name="android:windowLightStatusBar">true</item> 

eg.add在style.xml給你的價值觀V23夾

<?xml version="1.0" encoding="utf-8"?> 

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">#F5F5F5</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowLightStatusBar">true</item> 
</style> 

請務必更改colorPrimaryDark在V23/styles.xml爲灰色或white.it從API 23

+0

只設置該選項不會產生圖片中的結果 –

0

工作你可以試試這個。在值-V23添加此和您的佈局設置這個主題

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorAccent">@color/colorAccent</item> 
     <item name="android:statusBarColor">#fff</item> 
     <item name="android:windowLightStatusBar">true</item> 
    </style> 

這將狀態欄背景變爲白色

<item name="android:statusBarColor">#fff</item> 

這將改變狀態欄圖標顛倒(灰色)

<item name="android:windowLightStatusBar">true</item> 

輸出將會是這樣的,你可以改變你的動作欄顏色你想要的東西我給藍色 enter image description here

0

設法找到了解決方案:

的onCreate(在科特林):

window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 
window.statusBarColor = Color.parseColor("#1A000000") 

styles.xml:

<item name="android:windowDrawsSystemBarBackgrounds">true</item> 
0

以編程方式設置所有的標誌修正這一點。顯然,由於一些奇怪的原因,在樣式中設置windowsLightStatusBar並沒有反映出來。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     getWindow().setNavigationBarColor(getResources().getColor(R.color.colorAccentDark)); 
     //getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
     getWindow().getDecorView().setSystemUiVisibility(
       View.SYSTEM_UI_FLAG_LAYOUT_STABLE 
         | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); 
     getWindow().setStatusBarColor(Color.TRANSPARENT); 
     //setStatusBarTranslucent(true); 
    } 
相關問題