Android全面屏下,默认不会全屏显示,屏幕底部会留黑问题

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。

👉点击跳转到教程

公司以前的老项目,便出现了这种情况,网上搜索了各种资料,用了各种库,依然无法解决这个问题。

如图所示:

最终功夫不负有心人,在Application中看到了,这样一个属性

android:resizeableActivity="false"

这个属性设置为了false,我们新建的项目,是没有这个属性的,然后我把这个属性设置为了true,底部黑条便没有了,实现了全面屏。

这个在小米开放中心,也有解释:

声明 Maximum Aspect Ratio

Android 标准接口中,支持应用声明其支持的最大屏幕高宽比(maximum aspect ratio)。具体声明如下,其中的 ratio_float 被定义为是高除以宽,以 16:9 为例,ratio_float = 16/9 = 1.778 (18:9则为2.0)。

bash 复制代码
<application>
    <meta-data android:name="android.max_aspect" android:value="ratio_float" />
</application>

若开发者没有声明该属性,ratio_float 的默认值为1.86,小于2.0,因此这类应用在全面屏手机上,默认不会全屏显示,屏幕底部会留黑。考虑到将有更多 19.5:9 甚至更长的手机出现,建议开发者声明 Maximum Aspect Ratio ≥ 2.2 或更多。值得一提的是,如果应用的 android:resizeableActivity 已经设置为 true,就不必设置 Maximum Aspect Ratio 了。详见 Android 官方文档

对应的地址:小米开放平台

这个属性的含义如下:

android:resizeableActivity 的默认值是 unspecified,而不是 true 或 false。

当 android:resizeableActivity 设置为 unspecified 时,系统将根据应用的最小宽度限制和其他因素来决定该 Activity 是否可以调整大小。大多数情况下,默认行为是允许 Activity 在多窗口模式下进行调整大小。

如果您想明确指定 Activity 可否调整大小,可以将 android:resizeableActivity 设置为 true 或 false。设置为 true 表示该 Activity 允许调整大小,设置为 false 表示禁止调整大小。

请注意,在 AndroidManifest.xml 中设置 android:resizeableActivity 并不能直接决定 Activity 是否可以调整大小,它只是一种声明。实际上,还需要考虑其他因素,如设备的支持程度、运行时权限等。

如果您想要确保 Activity 可以在多窗口模式下调整大小,请将 android:resizeableActivity 设置为 true。同时,建议在实际设备上进行测试,并参考 Android 官方文档以获取更详细的指导和最佳做法。

最终解决了这个问题,以后排查问题,一定要细心细心,再细心。

相关推荐
下位子3 分钟前
『OpenGL学习滤镜相机』- Day8: 多重纹理与混合
android·opengl
TeleostNaCl6 分钟前
解决在 Android 使用 hierynomus/smbj 库时上传和下载文件较慢的问题
android·经验分享
峰哥的Android进阶之路28 分钟前
handler机制原理面试总结
android·面试
雨白30 分钟前
让代码更清晰:Android 中的 MVC、MVP 与 MVVM
android·mvc·mvvm
魑魅魍魉都是鬼40 分钟前
不练不熟,不写就忘 之 compose 之 动画之 animateSizeAsState动画练习
android·compose
一只柠檬新1 小时前
当AI开始读源码,调Bug这件事彻底变了
android·人工智能·ai编程
正经教主1 小时前
【App开发】手机投屏的几种方式(含QtScrcpy)- Android 开发新人指南
android·智能手机
-指短琴长-4 小时前
MySQL快速入门——内置函数
android·数据库·mysql
渡我白衣4 小时前
链接的迷雾:odr、弱符号与静态库的三国杀
android·java·开发语言·c++·人工智能·深度学习·神经网络
正经教主5 小时前
【App开发】02:Android Studio项目环境设置
android·ide·android studio