如何在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?