【问题标题】:How to disable touch event in android except the specific area of screen如何在android中禁用触摸事件,除了屏幕的特定区域
【发布时间】:2016-10-01 14:22:46
【问题描述】:

我想禁用 android 中的触摸事件,除了屏幕的某个区域,当用户双击该屏幕的特定区域时,它会启用。 任何形式的帮助表示赞赏!

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    您可以禁用屏幕特定区域以外的触摸事件

    第 1 步:使用特定 ID 提及该区域 例)

     <EditText
                        android:id="@+id/sample_edt"
                        android:layout_width="match_parent"
                        android:layout_height="@dimen/margin50"
                        android:background="@null" />
    

    第 2 步:在 Activity 或 Fragment 中初始化该 ID 例)

    EditText mSampleEdt = (EditText) findViewById(R.id.sample_edt);
    

    第 3 步:禁止您触摸并专注于该区域 例)

        mSampleEdt .setFocusable(false);
        mSampleEdt .setFocusableInTouchMode(false);
        mSampleEdt .setClickable(false);
    

    第 4 步:假设您希望再次看到焦点和触摸意味着您需要启用该焦点部分。

        mSampleEdt .setFocusable(true);
        mSampleEdt .setFocusableInTouchMode(true);
        mSampleEdt .setClickable(true);
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        有很多方法可以做到这一点。这是一个:创建一个视图作为活动屏幕视图的子视图。将孩子准确定位在您想要检测双击的区域上。然后在该视图中处理双击并在父视图中忽略它。

        子视图可以变成透明的。

        【讨论】:

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