android适配全面屏(react native)

2,613 阅读1分钟

我们的app在全面屏上会短一截,是因为没有适配全面屏,目前多数app的高宽比是16:9,而全面屏一般是18:9或者更大,如果从来没有处理过 android.max_aspect,也没有设置android:resizeableActivity为true。那么你的应用在会出现上下黑边的情况。 只要你设置了:

<meta-data android:name="android.max_aspect" android:value="2.1" />

或者设置android:resizeableActivity="true"就行了。 因此解决方式有如下两种:

1.在AndroidManifest.xml添加:

<meta-data android:name="android.max_aspect" android:value="2.1" />

android.max_aspect只在Android:ResizeableActivity="false"时起效。如果您的应用程序的目标API是24或更高,则Android:regzeableActivity默认为true,此时需要手动设置Android:ResizeableActivity="false"。
但是很奇怪,我使用此方法时,apk在手机上解析不出来,报错信息为:解析安装包时出现错误。暂时未解决此问题,如有大神知道原因,万望在评论处告知。因此我使用的是以下方法。

2.将sdk提升至>= 24。

通过android studio将sdk版本升级,然后将build.gralde中的compileSdkVersion 以及 targetSdkVersion提升至你升级的版本,将AndroidManifest.xml里面的targetSdkVersion提升至你升级的版本。设置完毕,应用应该能够制动适应全面屏幕。

Android N 平台也就是 Android 7.x 版本,Android 7.0对应SDK版本24,Android 6.0对应SDK版本23。