在 Android 中按下按钮时,您可以使用 setOnClickListener 在用户抬起手指后执行代码。你怎么能在他们按下后立即执行代码?
问问题
390 次
3 回答
2
使用setOnTouchListener
方法:
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN)
//do what you wish to
return false;
}
}))
于 2012-06-06T11:57:36.063 回答
0
findViewById(R.id.myButton).setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
if(arg1.getAction() == MotionEvent.ACTION_DOWN){
//do something funny
}
return true;
}
});
于 2012-06-06T11:59:25.150 回答
0
你可以尝试这样的事情:
public class DownTouchButton extends Button implements OnTouchListener {
private DownTouchButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
private DownTouchButton(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
private DownTouchButton(Context context) {
super(context);
init();
}
private void init() {
setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch(action){
case MotionEvent.ACTION_DOWN:
Log.d("YourApp", "A down event");
break;
default:
break;
}
return false;
}
}
然后在你的xml中:
<com.your.package.DownTouchButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Down Press Me!"
/>
于 2012-06-06T12:02:16.100 回答