防止屏幕长度和主流不符导致底部出现黑色空白区域,应该在AndroidManifest.xml文件中,添加如下代码:
实例图.png
至于在Application中添加 android:resizeableActivity="true" 以及 meta-data的宽高比设置问题请各位看官上谷歌官网查阅。
/**
* 设置底部虚拟导航操作栏的颜色
* @param context
* @param color
*/
private void setNavigationBar(Activity context, int color) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
context.getWindow().setNavigationBarColor(color);
}
}
/**
* 修改虚拟按键显示状态
* @param context
* @param isBottomBarShow
*/
private void changeBottomUIMenu(Activity context, boolean isBottomBarShow) {
// 修改虚拟按键显示状态
if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB && android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) { // lower api
View v = context.getWindow().getDecorView();
v.setSystemUiVisibility(isBottomBarShow ? View.VISIBLE : View.GONE);
}
// api19之后需要做别的处理
else if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
View decorView = context.getWindow().getDecorView();
int uiOptions = isBottomBarShow ? View.SYSTEM_UI_FLAG_VISIBLE : View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;// 需要全屏则添加上 View.SYSTEM_UI_FLAG_FULLSCREEN
decorView.setSystemUiVisibility(uiOptions);
}
}
网友评论