Android 中怎么适配虚拟按键

发布时间:2021-06-28 18:19:39 作者:Leah
来源:亿速云 阅读:237

这期内容当中小编将会给大家带来有关Android 中怎么适配虚拟按键,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

在values-v19和values-v21的styles里添加以下代码,实现19以上的系统的沉浸式:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor">
 <item name="android:windowTranslucentStatus">true</item>
 <item name="android:windowTranslucentNavigation">true</item>
 <item name="android:windowContentOverlay">@null</item>
 <item name="android:statusBarColor">@android:color/transparent</item>
</style>

TranslucentDecor,是KitKat及以上版本加入的theme包,用于把布局顶到状态栏(Status Bar)和导航栏(Navigation Bar)上,扩展屏幕高度。这样,只要我们把Status Bar和Navigation Bar的颜色设置成透明,那就可以实现app的全屏而又不影响状态栏和导航栏了。如图:

Android 中怎么适配虚拟按键

那么,问题来了。加入直接这样设置,手机使用虚拟按键的,像华为各种型号的手机,布局和Navigation Bar会重叠导致冲突,比如这样:

Android 中怎么适配虚拟按键

而且,不适配4.4以下的系统。

为了解决问题,查看了很多资料,也自己尝试了一下,发现很多方法都不适合。后来尝试了一下,低于4.4的版本,也就是values下的styles,直接把parent的值,设置成NoTitleBar或者其它的兼容4.4以下版本的Theme(当然,4.4以下的系统,没办法实现沉浸式),然后values-v19和v21的保持TranslucentDecort实现沉浸式。

看了很多网友的资料,有人尝试在layout的总布局里设置android:fitsSystemWindows="true",但这样子Status Bar也就废了,这不是我们想要的。

把values-v19和v21的styles里的

<item name="android:windowTranslucentNavigation">false</item>

上述就是小编为大家分享的Android 中怎么适配虚拟按键了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. Android怎么实现隐藏手机底部虚拟按键
  2. Android如何实现手机游戏隐藏虚拟按键

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android

上一篇:Android中怎么通过局域网文件同步

下一篇:Android中如何使用CustomFiltControl弹窗控件

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》