【问题标题】:button clickable only with a stylus只能用手写笔点击的按钮
【发布时间】:2015-04-20 10:40:14
【问题描述】:

我有一个按钮,我希望它只能由手写笔点击。 我使用 setClickable 方法来启用或禁用对按钮的单击,但我怎样才能做到这一点只能用笔单击呢? 只有当 MotionEvent.TOOL_TYPE_STYLUS

我该怎么做?

【问题讨论】:

    标签: android button motionevent


    【解决方案1】:

    您可以覆盖ButtononTouchListener,并立即返回未通过TOOL_TYPE_STYLUS 执行的触摸事件。要检索此信息,您可以使用

    getToolType(int pointerX)
    

    来自文档

    获取给定指针索引的指针的工具类型

    如果它返回TOOL_TYPE_STYLUS,那么您只需检查MotionEvent 中的ACTION_DOWN/ACTION_UP,然后调用performClick()。例如

    b.setOnTouchListener(new OnTouchListener() {
    
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS) {
                    if (event.getAction() == MotionEvent.ACTION_UP ) {
                        performClick();
                        return true;
                    }
                }
                return false;
            }
    });
    

    【讨论】:

    • 我该如何处理 setOnClickListener?我可以写什么 performclick()?
    • performClick 是一种查看方法。如果附加了 OnClickListener,它会调用 onClick
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多