以编程方式禁用android中的触摸输入

Posted

技术标签:

【中文标题】以编程方式禁用android中的触摸输入【英文标题】:disable touch input in android programmatically 【发布时间】:2014-02-07 17:35:01 【问题描述】:

我想在某些情况下禁用活动中的触摸输入。有没有办法实现禁用触摸?

【问题讨论】:

您能否详细说明“某些”条件?这可能会有所帮助。 通过检测接近传感器。如果接近,则应禁用触摸。 ^ 你能不能把这个问题本身。您是否尝试将view.setClickable(false); 用于您的最外层视图或您拥有的所有视图? ***.com/questions/8002849/… 是一个“可能”有帮助的类似问题。 【参考方案1】:

要禁用 Activity 上的触摸事件:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

要重新启用触摸事件:

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

【讨论】:

【参考方案2】:

获取要禁用触摸输入的视图和setOnTouchListener(null)

【讨论】:

【参考方案3】:
    this.setFinishOnTouchOutside(false)

【讨论】:

以上是关于以编程方式禁用android中的触摸输入的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式在android中的软输入键盘上禁用语音到文本按钮(麦克风)

如何通过android中的软键盘以编程方式将我的EditText输入限制为反斜杠(/),tild(〜)等特殊字符

Win32 API 函数以编程方式启用/禁用设备

如何在Android上以编程方式启用或禁用GPS?

以编程方式为我的应用禁用键盘

Android:软键盘不消耗输入事件/触摸