2017-01-07 5 views
0
freigeben

Ich möchte Bild1 für die Schaltfläche festlegen, aber wenn es gedrückt wird - ändern Sie es zu Bild2. Nach dem Loslassen sollte der Button wieder ein image1 sein. Ich habe versucht, es auf diese Weise in onClick zu tun() -Methode:Android - Bild von ImageButton ändern, wenn gedrückt und

button.setImageResource(R.drawable.image1); 
     if(button.isPressed()) 
      button.setImageResource(R.drawable.image2); 

aber nach zuerst das Bild der Taste zum image2 verändert und blieb so.
Könnten Sie mir bei diesem Problem helfen? die

Antwort

0

Verwendung folgenden:

int dispImg = 0; 
button.setImageResource(R.drawable.image1); 
if (button.isPress()) { 
    if (dispImg == 0) { 
     button.setImageResource(R.drawable.image2); 
     dispImg = 1; 
    } 
    else if (dispImg == 1) { 
     button.setImageResource(R.drawable.image1); 
     dispImg = 0; 
    } 
} 

Erläuterung: DISPIMG Spur des Bildes hält Sie zeigt. Wenn es 0 ist, bedeutet dies, dass das 1. Bild angezeigt wird und wir sollten zum 2. Bild wechseln.

Ich hoffe geholfen: D

2

ich das denke, was Sie wollen:

MyCustomTouchListener myCustomTouchListener = new MyCustomTouchListener(); 
button.setOnTouchListener(myCustomTouchListener); 

Nun ist die MyCustomTouchListener:

class MyCustomTouchListener implement OnTouchListener { 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     switch(event.getAction()){ 
      case MotionEvent.ACTION_DOWN: 
      // touch down code 
      button.setImageResource(R.drawable.image1); 
      break; 

      case MotionEvent.ACTION_MOVE: 
      // touch move code 
      break; 

      case MotionEvent.ACTION_UP: 
      // touch up code 
      button.setImageResource(R.drawable.image1); 
      break; 
     } 
     return true; 
    } 
} 
2

Sie dies mit einem state list drawable leicht tun können, und es erfordert von Ihnen keinen zusätzlichen Java-Code (es sei denn, Sie erstellen zur Laufzeit einen StateListDrawable), aber selbst das ist ein geeigneterer Ansatz als die Implementierung von benutzerdefiniert zu Interaktion).

Verwandte Themen