前段时间新入手一个华为P20大屏手机,果断进入应用市场下载一个自家的钬花教育社区试手,结果发现底部很不友好的出现一片黑底。经过调研,发现当下主流机型小米8.0、华为P20等皆出现此状况。
后来发现是各大厂家提高纵横比(19:10、18:9、 ...),这便是我们今天所说的全面屏手机
适配方案:
1. 修改targetSdkVersion适配版本号>23
经过测试发现,全面屏未适配的情况只会build.gradle文件的targetSdkVersion ≤ 23时出现。
defaultConfig {
...
targetSdkVersion 24
...
}
2. 设置最大屏幕宽高比(宽高比:ratio)
在应用配置文件AndroidManifest.xml中显式声明支持的最大屏幕高宽比:
小米8:ratio = 18/9 = 2 ;
华为P20:ratio = 18.7/9 = 2.078;
传统屏幕:ratio = 16/9 = 1.778 。
主流全面屏比例为 18.x : 9,故ratio_float设置为2.1即可。
<!-- 全面屏适配 -->
<meta-data
android:name="android.max_aspect"
android:value="2.1"/>