2017-04-03 181 views
0

我改變狀態欄的背景顏色與此代碼:狀態欄文字顏色不改變

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      Window window = getWindow(); 
      window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
      window.setStatusBarColor(getColorByResourceId(this, android.R.color.white)); 
     } 
    } 

    @ColorInt 
    public int getColorByResourceId(@NonNull Context context, @ColorRes int resourceId) { 
     return ResourcesCompat.getColor(context.getResources(), resourceId, null); 
    } 

} 

背景變好,但文字顏色不改變(這白色太):

status bar

我使用Theme.AppCompat.Light.NoActionBar。如何使狀態欄文字顏色變黑?

回答

1

你不能設置一個特定的textColorstatusBar。但是,你可以把它看到你的statusBar後臺API> = 23

當你的狀態欄。是,你可以在你基礎應用主題或您的自定義狀態欄。主題添加以下屬性:

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

它會使文本稍微淺灰色,這將使他們在您的白色背景可見。

+0

但我知道,狀態欄文本的顏色應改變自動與背景顏色。在我的情況下,沒有發生。它看起來像一些系統錯誤。 – BArtWell

+0

是的,它應該改變colorPrimaryDark。不幸的是,它不適合我。 – tahsinRupam