Conozco múltiples formas de obtener valores de ubicación de una Vista.Android: ¿Hay alguna forma de obtener la última posición de View después de TranslateAnimation?
getLocationOnScreen()
getLocationInWindow()
getLeft()
Sin embargo, ninguno de ellos realmente devuelve la ubicación actual de la vista me movía por startAnimation método(), pero sólo la ubicación original.
Por lo tanto, ahora hagamos una Vista que se mueve 10 píxeles hacia la derecha en cada Clic (estoy omitiendo el diseño, ya que puede colocar cualquier vista en su XML principal y ponerlo enClickListener).
public class AndroidTestActivity extends Activity implements OnClickListener {
LinearLayout testView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
testView = (LinearLayout) this.findViewById(R.id.test);
testView.setOnClickListener(this);
}
public void onClick(View v) {
int[] pLoS = new int[2];
testView.getLocationOnScreen(pLoS);
TranslateAnimation move = new TranslateAnimation(pLoS[0], pLoS[0] + 10, 0f, 0f);
move.setFillAfter(true);
move.setFillEnabled(true);
testView.startAnimation(move);
}
}
Como se puede ver, esto no funciona como era mi intención, ya que getLocationOnScreen() devuelve siempre el mismo valor (en mi caso, 0), y doen't refleja el valor que utilicé en TranslateAnimation ..
¿Alguna idea?
Gracias un montón. – Quv