android - traduccion - Traducir animación con vista de imagen no posicionándose correctamente
status traductor google (0)
Tengo algunos problemas en mi código:
1. Estoy usando getX (), getY () para obtener la posición de la vista de la imagen en el diseño relativo. ¿Es el método correcto para obtener puestos?
2.Translate Animate no se detiene con la ubicación exacta. (Es decir) cruza la vista de la imagen (destino)
3.Si la animación termina en una posición particular, quiero establecer una imagen de fondo en esta posición, ¿cómo puedo lograr eso?
- ¿Es la lógica incorrecta en la animación continua? Utilicé en el método de animación final ... por favor brinde sus sugerencias. Solo soy un principiante. Este es un pequeño juego que estoy desarrollando.
Aquí está mi código xml y java
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical" >
<ImageView
android:id="@+id/player4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="20dp"
android:layout_toLeftOf="@+id/player5"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="14dp"
android:layout_marginRight="89dp"
android:layout_toLeftOf="@+id/player4"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/player5"
android:layout_marginRight="26dp"
android:layout_toLeftOf="@+id/player2"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:visibility="invisible"
android:layout_marginRight="16dp"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/player2"
android:layout_alignParentTop="true"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/player7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/player1"
android:layout_alignLeft="@+id/player6"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/dealer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/player4"
android:layout_alignParentTop="true"
android:visibility="invisible"
android:src="@drawable/ic_launcher" />
</RelativeLayout>
Archivo My.java
//getting the imageviews from layout
player1=(ImageView)findViewById(R.id.player1);
player2=(ImageView)findViewById(R.id.player2);
player3=(ImageView)findViewById(R.id.player3);
player4=(ImageView)findViewById(R.id.player4);
player5=(ImageView)findViewById(R.id.player5);
player6=(ImageView)findViewById(R.id.player6);
player7=(ImageView)findViewById(R.id.player7);
dealer=(ImageView)findViewById(R.id.dealer);
private void Logic() {
// TODO Auto-generated method stub
if(players ==1)animation = new TranslateAnimation(0,addX.get(0),0,addY.get(0));
if(players ==2)animation = new TranslateAnimation(0,addX.get(1),0, addY.get(1));
if(players ==3)animation = new TranslateAnimation(0,addX.get(2),0, addY.get(2));
if(players ==4)animation = new TranslateAnimation(0,addX.get(3),0, addY.get(3));
if(players ==5)animation = new TranslateAnimation(0,addX.get(4),0, addY.get(4));
if(players ==6)animation = new TranslateAnimation(0,addX.get(5),0, addY.get(5));
if(players ==7)animation = new TranslateAnimation(0,addX.get(6),0, addY.get(6));
}
//Method for Start Animation
private void doAnimation() {
// TODO Auto-generated method stub
animation.setDuration(1000);
animation.setFillAfter( true );
animation.setAnimationListener(this);
dealer.startAnimation(animation);
}
//IN Animation END
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
dealer.clearAnimation();
dealer.setImageResource(R.drawable.singlecard);
players=players+1;
dealer.clearAnimation();
if(players<=count){
Logic();
doAnimation();
}
}