J'ai un ImageView étendu que je réutilise 7 fois horizontalement (dans un LinearLayout) à travers mon écran. Directement au-dessus et au-dessous de cette ImageView sont d'autres ImageViews étendus qui sont dans leur propre LinearLayouts. J'espacer ces tous uniformément en utilisant la propriété de poids dans le LinearLayout afin qu'ils espacent uniformément à travers l'écran. Ce que je dois faire, c'est que ImageView moyen soit capable de flotter au-dessus des ImageViews du haut ou du bas auxquels il s'aligne avec une animation. Y a-t-il une sorte d'index z que je peux mettre sur des éléments pour que je puisse faire flotter cette IV moyenne au-dessus des autres?float animé ImageView au-dessus d'autres éléments dans LinearLayout - android
Snippet de mon xml:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/opponentrow">
<ImageView
android:id="@+id/your1"
android:layout_width="45px"
android:layout_height="60px"
android:src="@drawable/topimage"
android:layout_weight="1" />
...
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/tokenrow">
<ImageView
android:id="@+id/your1"
android:layout_width="20px"
android:layout_height="20px"
android:src="@drawable/centerimage"
android:layout_weight="1" />
...
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/your1"
android:layout_width="45px"
android:layout_height="60px"
android:src="@drawable/bottomimage"
android:layout_weight="1" />
...
</LinearLayout>
les ellipses indiquent simplement que ces imageviews sont répétées 7 fois chacun. En outre, ils ne sont pas TRUE ImageViews comme je l'ai dit, ils sont étendus.
Voici un extrait de la imageview qui est au milieu (une avec centerimage comme source) qui fait l'animation (ce qui est dans le fichier .java)
public Tokens(Context context) {
super(context);
// TODO Auto-generated constructor stub
setOnClickListener(myListener);
}
private OnClickListener myListener = new OnClickListener(){
public void onClick(View v) {
doAnimate();
}
};
private void doAnimate(){
final Animation animUp = new TranslateAnimation(0,0,0,-22);
animUp.setDuration(200);
animUp.setFillAfter(true);
final Animation animDown = new TranslateAnimation(0,0,0,22);
animDown.setDuration(200);
animDown.setFillAfter(true);
if(avail)
startAnimation(animDown);
}
quelques considérations importantes: je dois conserver l'espacement horizontal uniforme pour les 7 éléments (toutes les 3 rangées). Je suis ouvert à l'utilisation d'un autre type de mise en page si mes objectifs ne peuvent pas être atteints avec LinearLayout.
merci pour votre temps