App显示不全屏

最近遇到2个app,在分辨率1920x1080屏上右侧和下侧各有一黑条,用window的各种隐藏title, actionbar的主题都无法消除,用android device monitor一看,
最顶层的view边界只有1875x1008
一问度娘,说是在application里配置

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


就可以
测试一下,自己写的app可以这么做,但第三方app就无法修改了。
跟一下代码,有个初始值PackageParser.DEFAULT_PRE_O_MAX_ASPECT_RATIO = 1.86
于是将它改成2.1,bingo
原理:
字面意思:MAX_ASPECT_RATIO:最大外观比例,也就是宽高比,2.1 = 2280/1080, 1.86 = 2008/1080
app安装时解析manifest时将max_aspect初始化到ActivityIntentInfo.maxAspectRatio中
并在ActivityRecord根据maxAspectRatio计算activity的边界。

最近做了一个条形屏的项目,很多App就之在左边显示一点,右边一大片都是黑屏的可以这样修改

frameworks/base/services/core/java/com/android/server/am/ActivityRecord.java
- final float maxAspectRatio = info.maxAspectRatio;
+ final float maxAspectRatio = 0;//158*2880 UI full screen

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值