Autore Topic: Aiuto Animazione  (Letto 690 volte)

Offline 1diaboliko84

Aiuto Animazione
« il: 15 Novembre 2013, 10:44:01 CET »
0
Ciao ragazzi,
mi rivolgo a voi esperti per un'aiuto su un'animazione.
Ho un' ImageButton messa al centro del display (android:layout_centerHorizontal="true"), sul click vorrei che l'immagine si spostasse sull'asse X fino ad arrivare per metà fuori dal display.
 spero che il disegno sia chiaro.

   ------------------              -------------------
  |                      |            |                        |
  |        ----         |            |--                     |
  |       |     |       |    ==> |   |                   |
  |        ----         |            |--                     |
  |                      |            |                        |
  |                      |            |                        |
  |                      |            |                        |
   ------------------              -------------------

da precisare che l'activity è bloccata in android:screenOrientation="portrait" e l'animazione deve funzionare sia su smartphone che tablet

Codice (Java): [Seleziona]
ImageButton img = (ImageButton)findViewById(R.id.img1);
final Point size = new Point();
getWindowManager().getDefaultDisplay().getSize(size);
               
int toX = -(size.x/2) + img.getWidth()/4;
               
ObjectAnimator animX = ObjectAnimator.ofFloat(img, "x", toX).setDuration(1000);
AnimatorSet anim = new AnimatorSet();
anim.playTogether(animX);

il problema è come calcolare correttamente la variabile toX. Sui table accade che l'imaView va oltre lo schermo

Vi ringrazio in anticipo per il vostro aiuto

Offline rs94

  • Utente normale
  • ***
  • Post: 227
  • Respect: +21
    • Mostra profilo
  • Dispositivo Android:
    Sony Ericsson Xperia Arc S
  • Sistema operativo:
    Windows 8
Re:Aiuto Animazione
« Risposta #1 il: 15 Novembre 2013, 13:23:07 CET »
0
Se, come dal disegno che hai fatto, vuoi che si sposti verso destra toX deve essere uguale a meno metà della sua larghezza.

Quindi

Codice (Java): [Seleziona]
int toX = - img.width();
L'unica certezza è il dubbio.
Dubitare di se stessi è il primo segno di intelligenza.