Обнаружить в виджете Android событие касания снизу вверх (или наоборот)

Как я могу обнаружить событие касания снизу вверх (или наоборот) в виджете Android (sdk 2.3.3)?


person samirsidi    schedule 12.12.2011    source источник


Ответы (2)


Попробуйте установить OnTouchListener для виджета и получить коды событий с помощью event.getAction();

Предположим, ваш виджет представляет собой ImageView. В xml определить:

<ImageView android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:src="@drawable/image"/>

а в Java ваш код будет таким:

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
         }
     }
}):
person coder    schedule 12.12.2011
comment
У вас есть идея, как это реализовать? - person samirsidi; 13.12.2011
comment
Этот код выглядит как код обычной активности, а не виджета. - person Jakub S.; 23.08.2016

Вы не можете. Вы можете установить только OnClickListeners

Я рекомендую вам прочитать этот отличный ответ. Обнаружение OnTouch в AppWidget. Если это возможно?

person Jakub S.    schedule 23.08.2016