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 小时前
CTF Web的数组巧用
android
小蜜蜂嗡嗡4 小时前
Android Studio flutter项目运行、打包时间太长
android·flutter·android studio
aqi004 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
zhangphil6 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android
你过来啊你6 小时前
Android View的绘制原理详解
android
移动开发者1号9 小时前
使用 Android App Bundle 极致压缩应用体积
android·kotlin
移动开发者1号9 小时前
构建高可用线上性能监控体系:从原理到实战
android·kotlin
ii_best14 小时前
按键精灵支持安卓14、15系统,兼容64位环境开发辅助工具
android
美狐美颜sdk14 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
恋猫de小郭18 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin