Autore Topic: ImageButton interattivo al tocco.  (Letto 561 volte)

Offline shotgun

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy SIII
  • Sistema operativo:
    Ubuntu 12.10, Windows 7
ImageButton interattivo al tocco.
« il: 31 Marzo 2013, 14:42:22 CEST »
0
Salve, ho un piccolo problema riguardo gli ImageButton interattivi al tocco. Sono riuscito a far cambiare colore all'ImageButton quando viene toccato, e a far partire un'altra activity quando il dito viene alzato dallo schermo. Però, se l'utente decide di non avviare più quella activity e trascina il dito dal bottone a un'altra parte dell'app, l'activity viene avviata lo stesso...avete qualche suggerimento per risolvere questa cosa?

Codice (Java): [Seleziona]
final ImageButton ibutton=(ImageButton)findViewById(R.id.ib);
                ibutton.setOnTouchListener(new OnTouchListener() {
                public boolean onTouch(View v, MotionEvent event) {
                       
                       
                if (event.getAction() == MotionEvent.ACTION_DOWN ) {
                        ibutton.setImageResource(R.drawable.prova2);

                }
                 else if (event.getAction() == MotionEvent.ACTION_UP ) {
                         ibutton.setImageResource(R.drawable.prova1);
                         Intent i=new Intent(v.getContext(),Nextclass.class);
                                   startActivityForResult(i, 0);
                        }
             

                return false;
            }
                });

Vi ringrazio!
« Ultima modifica: 31 Marzo 2013, 16:14:01 CEST da shotgun »

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:ImageButton interattivo al tocco.
« Risposta #1 il: 31 Marzo 2013, 19:29:48 CEST »
0
L'intent parte lo stesso perchè l'evento ACTION_UP si verifica comunque.

Io utilizzerei gli stati che possono assumere i drawables piuttosto che modificare la gestione degli eventi touch: http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

Offline s1m0

  • Utente junior
  • **
  • Post: 122
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S
  • Sistema operativo:
    Android 4.1.2
Re:ImageButton interattivo al tocco.
« Risposta #2 il: 03 Aprile 2013, 11:51:43 CEST »
0
Per l'avvio dell'Activity ti consiglio di usare l'onClickListener

Codice: [Seleziona]
Button button= (Button) findViewById(R.id.myButton);

button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v)
    {
        // Avvia la tua activity
    }
});


Un click sul pulsante "Thanks" è sempre gradito :-)