Android 如何使系统覆盖全高
我正在活动代码而不是xml中创建系统范围的全屏覆盖布局。问题是布局没有占据屏幕的全部高度。顶部和底部有一个间隙。你知道如何使布局适合整个屏幕高度吗Android 如何使系统覆盖全高,android,android-layout,Android,Android Layout,我正在活动代码而不是xml中创建系统范围的全屏覆盖布局。问题是布局没有占据屏幕的全部高度。顶部和底部有一个间隙。你知道如何使布局适合整个屏幕高度吗 mFrameLayout = new FrameLayout(this); mFrameLayout.setBackgroundColor(getResources().getColor(R.color.black)); mFrameLayout.getBackground().setAlpha(50); WindowManager.LayoutP
mFrameLayout = new FrameLayout(this);
mFrameLayout.setBackgroundColor(getResources().getColor(R.color.black));
mFrameLayout.getBackground().setAlpha(50);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT
);
WindowManager windowManager = (WindowManager) getApplicationContext().getSystemService(WINDOW_SERVICE);
windowManager.addView(mFrameLayout, params);
只需将“全屏标记”更改为“匹配父项”
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
或从视图中删除系统uiStatus和导航栏:
int KitKatFlags = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LOW_PROFILE
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
getWindow().getDecorView().setSystemUiVisibility(KitKatFlags);
我已经浏览了几十篇这样的帖子,没有人提出过这样的建议。你不知道你救了我多少头痛。谢谢没问题,祝你愉快!。