解决android华为提示全屏显示

原文https://blog.csdn.net/xu_coding/article/details/82889782

解决android华为提示全屏显示

最近发现很多应用在第一次安装之后,都会提示一个 【 全屏显示】 。一看,好像也没啥,但是对开发应用的开发者来说。感觉被打了一巴掌一样。自己好好编码完成的应用。出来个这个是什么鬼。想解决这个问题,却好像也不知道从何下手(根本不知道这问题怎么造成的)。根据华为官方的说法。目前这个问题。在Top1000的应用中,目前也只有35%的应用适配了这个问题。也就说常用的应用中,大多数都没有解决这个问题。
其实这个问题,是从全面屏造成的。说到全面屏。我们先看下全面屏和普通屏的区别:
普通屏:纵横比为16:9,如1080x1920、1440x2560等,其比值为1.78,全面屏手机出现之前,Android中默认的最大屏幕纵横比(maximum aspect ratio)为1.86,即能够兼容16:9的屏幕。
全面屏:屏幕比例超过1.86的屏幕,比如:17:9、18:9、19:9、19.5:9 等这些比例的屏幕都是全面屏。
当设备屏幕足够大时,如华为Mate10Pro、三星S8,除去导航栏应用显示尺寸的纵横比还是大于1.86的,为了满足Google CDD的要求,应用就无法按之前的全屏进行显示,就会出现黑边。

下面提供三种解决方法:

  • 方法1: 在AndroidManifest.xml中的Application节点下添加 如下代码

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

  • 方法2:
    在AndroidManifest.xml中对应的Activity中添加属性

android:resizeableActivity =“true”

需要注意的是:此设置只针对Activity生效,且增加了此属性该activity也会支持分屏显示。

  • 方法3:
    修改AndroidManifest.xml文件,设置targetSdkVersion>=26,就是应用升级到O版本,不需要设置其他任何属性,默认在任何纵横比的屏幕都能全屏显示。(备注:有一种例外情况需要注意,应用如果已经适配到O版本,并且通过meta-data属性android.max_aspect或者是android:MaxAspectRatio属性设置了页面支持的最大纵横比,同时又通过android:resizeableActivity=“false”设置了页面不支持分屏,这个时候系统会按照应用自己设置的最大纵横比决定该页面是否能全屏显示,如果应用设置的最大纵横比比手机屏幕比例小,那应用还是无法全屏显示。)
    如果方法3代价比较大,(实际上现在所有的应用市场都在提高SdkVersion的版本。有时间,有精力还是弄一下吧),就使用方法1吧。以上三种方法都可以在开发上解决华为手机提示全屏显示的问题
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言目前市面上的刘海屏和水滴屏手机越来越多了,颜值方面是因人而异,有的人觉得很好看,也有人觉得丑爆了,我个人觉得是...
    飘逸解构阅读 7,771评论 6 42
  • 背景 刘海屏指的是手机屏幕正上方由于追求极致边框而采用的一种手机解决方案。因形似刘海儿而得名。也有一些其他叫法:挖...
    _九卿_阅读 6,281评论 0 26
  • 为了更好的阅读体验,请转到我的个人站点:Windy'Journal 关于全面屏 全面屏是手机业界对于超高屏占比手机...
    Windy_816阅读 19,589评论 8 43
  • 人想要复杂很简单,想要简单却很复杂。人生有太多不如意,人与事总是纷纷杂杂、喧喧闹闹萦乱在耳边。立而有形,有形...
    兼鸟鱼枼阅读 219评论 0 1
  • 文件路径:http://bbs.daxiangclass.com/?thread-76.htm 创建一个Vue的对...
    叮叮当1016阅读 1,458评论 0 0