tengo una vista de lista con reemplazar el método getView para poblarlo. ahora, quiero hacer que cada elemento de la lista se anime o se mueva desde el lado derecho de la pantalla a la izquierda donde normalmente debería aparecer el elemento.cómo hacer animación de traducción para cada elemento listview
la animación de cada artículo no debe comenzar al mismo tiempo, se debe retrasar para el par ms antes de los otros elementos en movimiento ...
bien, esta es mi clase de adaptador:
public class MyAdapter extends ArrayAdapter<String>{
private Context context;
private String[] info;
public MyAdapter(Context context, int resource,
String[] objects) {
super(context, resource, objects);
// TODO Auto-generated constructor stub
this.context = context;
this.info = objects;
}
protected class RowViewHolder {
public TextView text1;
public CheckBox cb;
public String ss;
}
@Override
public View getView(int pos, View inView, ViewGroup parent) {
View vix = inView;
RowViewHolder holder;
if (vix == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vix = inflater.inflate(R.layout.check_list, null);
}
holder = new RowViewHolder();
holder.text1 = (TextView) vix.findViewById(R.id.info_group);
holder.text1.setText(info[pos]);
holder.ss = info[pos];
holder.cb = (CheckBox) vix.findViewById(R.id.check);
holder.cb.setTag(holder.ss);
holder.cb.setOnCheckedChangeListener(CbListen);
vix.setTag(holder);
return vix;
}
private OnCheckedChangeListener CbListen = new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton com, boolean pool) {
// TODO Auto-generated method stub
String state = (com.getTag()).toString();
if(com.isChecked()){
System.out.println(state+" CHECKED");
}else{
System.out.println(state+" UNCHECKED");
}
}
};
}
¿alguna idea? :)
ACTUALIZACIÓN
Bueno, sin duda que lo es! LOL: p
acaba de descargar esos ApiDemos "como lo que dijo Farhan" y ustedes encontrarán algún tipo de muestra como LayoutAnimation2 en la vista del paquete.
allí, cada elemento de la lista está siendo animado para poblar hacia abajo por traducir-animación mientras el alfa está cambiando respectivamente.
Esto es lo que hago para mi caso:
AnimationSet set = new AnimationSet(true);
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(500);
set.addAnimation(animation);
animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 50.0f,Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f
);
animation.setDuration(1000);
set.addAnimation(animation);
LayoutAnimationController controller = new LayoutAnimationController(set, 0.5f);
group_list.setLayoutAnimation(controller);
pongo esto a mi setAdapter función(), ustedes pueden hacer que se vea más acogedor, con efectos de aceleración-deceleración, etc.
: p
noop ninguna idea, pero es posible que desee comprobar el código fuente de las demostraciones de API .... realmente hay algunas cosas geniales sobre la animación también ... – Farhan