Android app全面屏适配

1 . 启动页,原先的16:9loading页面在18:9的屏幕上会出现上下黑边或拉伸变形那个的情况,

所以启动页的适配可新增2160 * 1080像素的点9图片调用加载。

2 . 应用UI页面,在AndroidManifet里的<application>下声明

<!-- 传统屏幕:ratio_float = 16/9 = 1.778      三星S8屏幕:ratio_float = 18.5/9 = 2.056     鉴于目前全面屏屏幕比例,将ratio_float设置为2.1或更大 即可适配一众全面屏手机。 -->
<meta-data
    android:name="android.max_aspect"
    android:value="2.1" />

3 . 底部虚拟键设置对应的背景色,在BaseActivity初始化时或Activity初始化时写:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    getWindow().setNavigationBarColor(Color.WHITE);
}

这里是把底部虚拟键的背景设置为白色,目的是与应用页面配色搭配,可自行更改。

设置虚拟必须要设置 FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS,并且不能设置 FLAG_TRANSLUCENT_NAVIGATION。

首先要执行

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
然后再根据需要改变背景色。

猜你喜欢

转载自blog.csdn.net/riley_qin/article/details/80074551