如何处理Android的软件按钮

如何处理Android的软件按钮,android,android-layout,button,Android,Android Layout,Button,以防万一:我是android新手,所以没有专家 我对一些设备的“软件按钮”有一个问题 创建布局XML时,与底部对齐的按钮位于这些软件按钮的后面。如果有一些按钮(布局位于屏幕顶部和软件按钮顶部之间),并且当没有软件按钮时,布局位于屏幕底部,我如何处理这些按钮始终显示在软件按钮上方的情况 我在google上寻找一个解决方案,但找不到一个简单有效的解决方案(也许我没有合适的google术语…) 更新 我试着画出我的意思 你是说软键盘吗?如果是,请将其添加到清单中希望发生这种情况的活动中 <ac

以防万一:我是android新手,所以没有专家

我对一些设备的“软件按钮”有一个问题

创建布局XML时,与底部对齐的按钮位于这些软件按钮的后面。如果有一些按钮(布局位于屏幕顶部和软件按钮顶部之间),并且当没有软件按钮时,布局位于屏幕底部,我如何处理这些按钮始终显示在软件按钮上方的情况

我在google上寻找一个解决方案,但找不到一个简单有效的解决方案(也许我没有合适的google术语…)


更新

我试着画出我的意思


你是说软键盘吗?如果是,请将其添加到清单中希望发生这种情况的活动中

<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>

如果将
android:fitsystemwindows=“true”
添加到XML布局中,您的内容应显示在软件导航栏上方

编辑:

尝试将这些行添加到
基本主题中的styles.xml文件中

<item name="android:windowTranslucentNavigation">true</item>
<item name="android:fitsSystemWindows">true</item>
true
真的

在创建时的活动中添加以下代码:

View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
decorView.setSystemUiVisibility(uiOptions);

你能分享你正在努力实现的屏幕截图和你当前的输出吗?完成后,我添加了一个问题的说明。我在一些地方添加了:
android:layout\u weight=“1”
,解决了这个问题。现在,视图自动位于屏幕顶部和软导航栏之间。感谢大家的回答。我尝试将此添加到加载片段的framelayout中,并尝试将其添加到片段根视图中。对我来说,这听起来是一个解决方案(fitsSystemWindows),但事实并非如此。在添加属性之前,我看不出有什么不同。请尝试编辑,如果编辑失败,请尝试为半透明导航设置false,您不需要在内容上设置布局权重,这样做将意味着您必须在所有内容上添加该行,这将是一件痛苦的事情。你的风格一定有问题。这似乎有点像黑客,你不想在你创建的每个版面中添加
android:layout\u weight=“1”
。但如果你同意的话,那就足够公平了。:)这只是学校的一个项目,所以现在我不在乎。在未来的项目中,我将以正确的方式进行;-)。谢谢你的解释,我相信我将来会需要这个。不是键盘,而是一些智能手机制造商使用的导航按钮,而不是硬件按钮。
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:fitsSystemWindows">true</item>
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
decorView.setSystemUiVisibility(uiOptions);