【问题标题】:Android make a screen disable or unclickableAndroid使屏幕禁用或不可点击
【发布时间】:2014-01-27 18:39:51
【问题描述】:

我想让我的 android 活动不可点击。我试过Enable/disable an activity programatically,但它对我不起作用。

我也尝试过禁用相对布局,但它不起作用。

有没有其他方法可以让 android activity(full) 不可点击?

【问题讨论】:

  • 不行,你需要让你的视图一个一个不可点击:)
  • @Mahfa 我有大约 25 个按钮。所以我必须手动禁用每个按钮。
  • 据我所知,是的,做到这一点并不难! :)
  • @Mahfa moveTaskToBack(true);“隐藏”当前活动并发送到后台。您是否知道任何其他不发送到后台的功能,只需将其禁用即可。

标签: android android-intent


【解决方案1】:

您可以创建一个占满整个屏幕的假透明视图并将其放置在所有视图之上。

private boolean shouldBlockTouches = false;

fakeView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return shouldBlockTouches;
        }
    });

在任何你喜欢的地方设置 shouldBlockTouches。

【讨论】:

    【解决方案2】:

    您可以在 XML 中将每个视图设置为不可点击:

    android:clickable="false"
    

    【讨论】:

    • 是的,但是您能否提供替代解决方案来通过 java 代码和按钮单击而不是来自 XML 来实现这一点。
    • 当然,尝试在每个按钮上使用 setEnabled(false)。这也应该使它们无法点击。
    【解决方案3】:

    我认为你可以尝试在根布局上应用 onClick 并且什么都不做。tou 也可以这样做 如果您希望活动不可点击,那么不提供任何行为将往往什么都不做。

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-01
      • 2011-09-13
      • 1970-01-01
      • 2012-11-29
      相关资源
      最近更新 更多