2016-08-22 12 views
2

ステータスバーを私のアプリで白い背景と黒いテキスト(黒いアイコン)に設定したいと思います。私はいくつかのアプリがこれを行うことができることを知ったしかし、Googleからの検索、私はこの解決策を見つけることができません。ステータスバーの色を設定する方法については、多くのソリューションがあります。SystemBarTintのように、それはちょうど背景を設定できますが、全体のステータスバーのスタイル(白い背景と黒のテキストまたは黒の背景と白のテキストの色)。 API 21またはgreatorステータスバーを私のアプリケーションの白い背景と黒のテキスト(黒いアイコン)に設定する方法

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
       Window window = getWindow(); 
       window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
       window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
       window.setStatusBarColor(getResources() 
         .getColor(R.color.YOurColorname)); 
      } 
+0

それは簡単に見つけることができなかったので、私はあなたのせいにしているが、これは既に回答しています:http://stackoverflow.com/questions/33316668/how-to-change-the-status-bar-notification-icons-color-tint-in-android-marshmal –

+0

あなたのお薦めいただきありがとうございます。この答えを読んでください。私はAPI 21以上でこの効果を実現できる解決策を探したい。 – shaotine

+0

それはできません。 Androidでは、API 23のステータスバーでテキストの色を変更するオプションが導入されました。 –

答えて

0

に動作します私はこの解決策がこのコードを使用することを発見した:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 

getWindow().setStatusBarColor(Color.TRANSPARENT);// SDK21 
0

そのこれはロリポップでこれを有効にするために、自分の価値観-V21 /のstyles.xmlです: それが唯一のAPIの上に21

<resources> 
     <!-- Base application theme. --> 
     <style name="AppTheme" parent="Theme.AppCompat.Light"> 
      <item name="colorPrimary">@color/color_primary</item> 
      <item name="colorPrimaryDark">@color/color_secondary</item> 
      <item name="colorAccent">@color/color_accent</item> 
      <item name="android:statusBarColor">@color/color_primary</item> 
     </style> 
    </resources> 
1

プレイスの

関連する問題