Android适配全面屏(华为荣耀8,小米8,三星S8等)

昨天公司一运营小伙拿着新买的小米8,问我,为啥项目在我手机上下面有一大块是黑色的,原来,测试机一般用都是1920*1080的,或者是更小的,(16:9)的屏幕,而他的小米8是2160*1080(18:9)。

一些手机厂商为了追求更大的屏幕空间以及更极致的用户体验,于是提高了屏幕纵横比,17:9、19:10、18:9、18.5:9的手机开始进入市场,这些手机被称为全面屏手机。

适配方案

1.设置最大支持的屏幕宽高比

在应用配置文件AndroidManifest.xml中显式声明支持的最大屏幕高宽比(maximum aspect ratio)。其中 ratio_float 为高宽比:
传统屏幕:ratio_float = 16/9 = 1.778 ;

小米8屏幕:ratio_float = 18/9 = 2 ;
三星S8屏幕:ratio_float = 18.5/9 = 2.056。
鉴于目前全面屏屏幕比例,将ratio_float设置为2.1即可适配一众全面屏手机。

<application> 

<meta-data android:name = “android.max_aspect” android:value = “ratio_float” /> 
<application> 

其中ratio_float是您的应用可以支持的最大纵横比,以十进制形式表示为(较长尺寸/较短尺寸),官方建议为2.1或更大;

如果不设定,那么最大宽高比默认为1.86。

<!--适配全面屏-->
        <meta-data
        android:name="android.max_aspect"
        android:value="2.1"
        />

2.修改targetSdkVersion的版本号大于23

今天测试发现当targetSdkVersion<=23时,会不适配全面屏,而targetSdkVersion>23时候不会出现这种情况。

AndroidP刘海适配传送:https://mp.weixin.qq.com/s/Mcfy_cjcsbiqHUcP4yz-wQ

猜你喜欢

转载自blog.csdn.net/Android_hv/article/details/81235476