Io uso NineOldAndroids 2.4.0 per animare gli oggetti principalmente per il movimento e la trasformazione del controllo. Su Android 4.0 e soprattutto funziona bene, ma su versioni precedenti (2.1, 2.3) dopo che gli elementi di animazione non ricevono focus e non cliccabili. Codice campione:NineOldAndroids, visualizzazione non selezionabile dopo la rotazione o spostamento
View v = findViewById(R.id.button1);
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Click!", Toast.LENGTH_SHORT).show();
}
});
ObjectAnimator moveDown = ObjectAnimator.ofFloat(v, "translationY", 100f);
moveDown.setDuration(5000);
moveDown.start();
Questo è un bug nella libreria o qualcosa che sto facendo male? Se questa libreria non supporta tutte le funzionalità di "API di animazione Honeycomb", nel mio progetto sarà inutile.
quotazione su Android Blog degli sviluppatori di "Animation in Honeycomb": Dato che il sistema sta effettivamente cambiando immobili in oggetti di destinazione, gli oggetti stessi sono cambiati, non solo il loro aspetto. Quindi quel bottone che muovi viene effettivamente spostato, non solo disegnato in un posto diverso. Puoi anche cliccarlo nella sua posizione animata. Vai avanti e fai clic su di esso; Ti sfido.
Il frammento avete funziona bene per me con NineOldAndroid sul 2.3. Assicurati di aver importato com.nineoldandroids.animation.ObjectAnimator e non android.animation.ObjectAnimator. –
Sì, ho importato com.nineoldandroids.animation.ObjectAnimator. Sei sicuro di poter premere il pulsante dopo lo spostamento? Come ho detto prima, questo non funziona per <3.0, l'ho provato sull'emulatore: 2.1.2.2, 2.3.3 e su un dispositivo reale (2.3.7) – avesha
Ho avuto lo stesso problema. Hai provato a usare translateYBy() o x()? – Mario