使用以下代码会导致我的布局扩展到导航栏下方。我只想更改状态栏颜色而不会弄乱布局。
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
getWindow().setStatusBarColor(this.getResources().getColor(R.color.statusbar_color));
//TRANSPARENT FOR TESTING
getWindow().setNavigationBarColor(this.getResources().getColor(android.R.color.transparent));
}
我觉得我错过了什么......
答案 0 :(得分:0)
尝试设置此标记
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
之前super.onCreate(savedInstance)
超级之后,您可以随时在活动中设置状态栏颜色。
答案 1 :(得分:0)
您必须使用“attachToActivity”:
SlidingMenu slidingMenu = new SlidingMenu(getApplicationContext());
slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT, false);
并扩展SherlockFragmentActivity(或FragmentActivity)而不是SlidingFragmentActivity。
但是这样你的ActionBar当然不会滑动......
答案 2 :(得分:0)
添加
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
它对我有用。