Sto usando objectAnimator per animare un pulsante dal basso verso l'alto in Android. Ora sto usando il codice qui sottoCome assegnare valori percentuali in ObjectAnimator in Android
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(button,"translationY",0,440);
transAnimation.setDuration(440);
transAnimation.start();
Ho anche provato con il codice di esempio riportato di seguito. Ma ancora il problema esiste
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(loginLayout, "translationY",0f,0.8f);
transAnimation.setDuration(480);
transAnimation.start();
Funziona bene in dispositivi a grande schermo. Ma quando si tratta di dispositivi con schermo piccolo, lo schermo si spegne. Voglio rimanere nella parte superiore dello schermo indipendentemente dalle diverse dimensioni dello schermo. Penso di dover dare valori in percentuale (diciamo dallo 0% al 100% o dallo 0 al 100% p). Quindi la mia domanda è come dare valori in percentuale in objectAnimator in Android. Ho notato anche una cosa che questo objectAnimator è stato introdotto solo in HoneyComb. Quindi ci sono eventuali librerie di compatibilità a ritroso per eseguirlo in versioni basse. Qualcuno potrebbe guidarmi a trovare una soluzione per questo.
Ho anche provato ad estendere View e scrivere getter e setter per la proprietà in offset()
. Ancora non si muove completamente nella parte superiore dello schermo. Ecco il codice che ho usato.
@SuppressLint("NewApi") public float getXFraction()
{
int width = context.getWindowManager().getDefaultDisplay().getHeight();
return (width == 0) ? 0 : (getY());
}
@SuppressLint("NewApi") public void setXFraction(float xFraction) {
int width = context.getWindowManager().getDefaultDisplay().getWidth();
setY((width > 0) ? (width) : 0);
}
Grazie inadvance
Per coloro che cercano la risposta, [qui] (http://stackoverflow.com/a/11015834/1083957) è la soluzione alternativa. – azizbekian