3

我试图让我的应用程序的一项活动在软件键后面溢出,就像这样

活动溢出软件密钥栏

我已经做的是在我的主题定义中加入以下语句

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>

然后在我想重叠的listView上启用它

android:fitsSystemWindows="true"
android:clipToPadding="false"

发生的事情是我的应用程序确实在状态栏和按钮栏上重叠,但这在每个活动上,而不仅仅是在我把两行放在上面的那个上。

此外,它弄乱了我的活动边距:我的应用程序抽屉的第一行被隐藏了,我的主要片段的顶部也是如此。

活动重叠顶栏。 不是我想要的方式...

我认为fitsSystemWindows是为了解决这类问题,所以我将它添加到我的主题中

<item name="android:fitsSystemWindows">true</item>

但没有任何改变。

所以这个问题显然很简单:我怎样才能得到半透明的底栏,我的一个活动在它后面流动,而不弄乱我的应用程序的顶部,并且(如果可能的话)对所有其他活动产生相同的影响?

提前感谢你们每一位帮助者。

4

1 回答 1

4

正如 Eluvatar 所说,如果我只需要对一个活动产生这种效果,最好的办法是定义一个自定义主题并将其分配给这个活动。这就是我所做的,我在 styles.xml 中定义了一个空样式并在 values-v19/styles.xml 中覆盖了它

<!--<item name="android:windowTranslucentStatus">true</item>-->
<item name="android:windowTranslucentNavigation">true</item>

然后我在 AndroidManifest.xml 中为活动分配了正确的样式,方法是使用

android:theme="@style/Theme.Style.I.Created.For.This.Activity"

禁用第一行允许活动仅与导航栏重叠,而不会在状态栏上弹出。边距似乎还可以。

我希望有一天这会对其他人有所帮助。

于 2014-03-06T16:53:10.217 回答