android - 禁用所有 View 的触摸事件

标签 android android-view touch-event

禁用所有 View 的触摸事件的最佳方法是什么?

最佳答案

这是一个禁用某个 View 组的所有 subview 的功能:

 /**
   * Enables/Disables all child views in a view group.
   * 
   * @param viewGroup the view group
   * @param enabled <code>true</code> to enable, <code>false</code> to disable
   * the views.
   */
  public static void enableDisableViewGroup(ViewGroup viewGroup, boolean enabled) {
    int childCount = viewGroup.getChildCount();
    for (int i = 0; i < childCount; i++) {
      View view = viewGroup.getChildAt(i);
      view.setEnabled(enabled);
      if (view instanceof ViewGroup) {
        enableDisableViewGroup((ViewGroup) view, enabled);
      }
    }
  }

关于android - 禁用所有 View 的触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418510/

相关文章:

android - 以选项卡形式返回 fragment 时崩溃。使用相同的 ID 查看

android - 如何在 Android 中每 5 分钟刷新一次文件读取?

c# - 在 Xamarin Forms 中将 Android API 目标级别从 11 升级到 12

android - 从 fragmentActivity 刷新 fragment UI

android - 如何在膨胀的布局中膨胀具有相同 id 的布局的多个实例

未调用 Android View onSaveInstanceState

javascript - 通过 Overlay 传递触摸事件

javascript - JQuery .on ("click") 在触摸设备上触发 "mouseover"

Android 使两个重叠的 View 接收并处理相同的触摸事件

android - 为什么虽然允许备份应用程序,但重新安装应用程序有时会清除 SP?