问题
How I can detect a touch event from down to up (or the inverse) in Android widget (sdk 2.3.3)?
回答1:
Try setting an OnTouchListener to the widget and getting the event codes with event.getAction();
Suppose your widget is an ImageView. In xml define:
<ImageView android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@drawable/image"/>
and in Java, your code would be:
ImageView mImageView = (ImageView)findViewById(R.id.imageview);
mImageView.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch (View v, MotionEvent event){
if(event.getAction() == MotionEvent.DOWN){
//do something
}else if (event.getAction() == MotionEvent.UP){
// do something
}else if (event.getAction() == MotionEvent.MOVE){
//do something
}
}
}):
回答2:
You can't. You can only setOnClickListeners
I recommend you to read this great answer. Detect OnTouch on AppWidget. If is it possible?
来源:https://stackoverflow.com/questions/8476362/detect-in-android-widget-a-touch-event-from-down-to-up-or-the-inverse