2015-11-13 4 views
0

В настоящее время я работаю над разработкой приложения с Android. Я новичок в игре, поэтому я мог бы немного помочь. У меня есть страница, заполненная ImageButtons несколькими изображениями. Когда они нажимаются, я хочу, чтобы фон кнопки седел и возвращался к исходному изображению, когда пользователь больше не нажимает кнопку.Как перевернуть между фоновым изображением и серым цветом при касании и выпуском кнопки изображения?

Спасибо за помощь!

ответ

0

Вы могли бы сделать что-то вроде этого:

final ImageButton imgButton = (ImageButton)view.findViewById(R.id.button); 
imageButton.setImageResource(R.drawable.imageIdle); 

imgButton.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       imageButton.setImageResource(R.drawable.imagePressed); 
       return true; 
      case MotionEvent.ACTION_UP: 
       imageButton.setImageResource(R.drawable.imageIdle); 
       return true; 
      default: 
       return false; 
     } 
    } 
}); 

Надеется, что это помогает!

1

Проверить this answer. Я думаю, это связано с вашим вопросом.

Для вашего примера вы можете иметь возможность вытягивания в вашей папке с возможностью перемещения. Назовите это чем угодно. Я называю это button_states.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_enabled="false" 
     android:drawable="@drawable/cancel" /> <!-- This can be your image --> 
    <item 
     android:state_pressed="true" 
     android:state_enabled="true" 
     android:drawable="@color/grey" /> <!-- This can be the color you want to show when the button is pressed. Define this in colors.xml --> 
    <item 
     android:state_enabled="true" 
     android:drawable="@drawable/cancel" /> <!-- Use the same image here --> 
</selector> 

Наконец-то добавьте это в качестве фона вашего ImageButton. Пример:

<ImageButton 
     android:id="@+id/imageButtonSelector" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/button_states" />