如何在android中将按钮置于按下状态

Posted

技术标签:

【中文标题】如何在android中将按钮置于按下状态【英文标题】:How to put a button in pressed state in android 【发布时间】:2012-08-29 18:54:55 【问题描述】:

我的问题类似于here 发布的问题。我想要一个 android 按钮保持按下状态。我无法遵循提供的解决方案,因为当通过键盘或轨迹球按下按钮时将调用onClick,我需要处理它。

我尝试在 onClick 回调中设置 button.setPressed(true); ,但它似乎不起作用。有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

试试这个吧...

singIn.setOnTouchListener(new OnTouchListener() 
                @Override
                public boolean onTouch(View v, MotionEvent event) 
                    if(event.getAction()==MotionEvent.ACTION_DOWN) return true;
                    if(event.getAction()!=MotionEvent.ACTION_UP) return false;

                  //DO SOMETHING!!

                    singIn.setPressed(true);                    
                    return true;
                


            );

【讨论】:

【参考方案2】:

尝试像这样向按钮发送触摸事件:

MotionEvent down = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 0, 0, 0);
yourButton.dispatchTouchEvent(down);

【讨论】:

以上是关于如何在android中将按钮置于按下状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 dojo GridX 中将我的按钮置于我选择的特定列中?

Android系统。在按钮创建的操作完成之前,如何将按钮显示为PRESSED?

如何在 Android 中将文本复制到剪贴板?

在其线性布局垂直父Android中将以编程方式创建的单选按钮居中

如何在按下另一个按钮之前更改按钮状态?

Android - 如何防止按下音量或相机键时手机屏幕打开?