【问题标题】:Disable background activity in android在android中禁用后台活动
【发布时间】:2014-06-11 11:35:59
【问题描述】:

我目前有一个显示 gridView 的活动。当按下特定按钮时,我创建了一个具有透明内容视图的新片段,以便它覆盖活动 gridView,因此基本上您可以看到新片段的内容,同时仍然模糊地看到背景中的 gridView。我遇到的问题是背景视图(gridView)仍然处于活动状态,如果有意义的话,用户可以“通过”片段视图并按下按钮到 gridView 上。如何禁用背景视图/活动 (gridView),以便用户无法激活它托管的任何内容?我在想我可以按照以下方式做一些事情,但这似乎非常低效和骇人听闻:

ViewGroup vg = (ViewGroup) v;
    for (int i = 0;i<vg.getChildCount();i++) {
        enableViews(vg.getChildAt(i), enabled);
    }

我可以采取任何其他解决方案或方法吗?

我通过如下样式为整个片段视图设置透明度:

<style name="Transparent" parent="@android:style/Theme.NoTitleBar">
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:background">#e6000000</item>
</style>

【问题讨论】:

  • 如果您对这个问题投了反对票,请您提供一个解释,以便其他人可以从中找到一些用处吗?

标签: android android-layout android-fragments android-activity transparency


【解决方案1】:

不知道为什么这个问题被否决了,因为我觉得这是一个合理的问题,也许我的措辞不好或其他什么。无论如何,我找到了一个解决方案,以防其他人遇到类似情况。您需要做的就是将覆盖屏幕的根布局可点击属性设置为 true:(在这种特殊情况下为片段主布局)

android:clickable="true"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多