我有一个扩展的 ImageView,我在屏幕上水平重用了 7 次(在 LinearLayout 内)。在此 ImageView 的正上方和下方是其他扩展的 ImageView,它们位于它们自己的 LinearLayouts 中。我通过使用 LinearLayout 中的 weight 属性将它们均匀分布,以便它们在屏幕上均匀分布。我需要做的是让这个中间的 ImageView 能够漂浮在与动画对齐的顶部或底部 ImageView 的顶部。是否有某种 z-index 可以放在元素上,以便我可以将这个中间 IV 浮动在其他元素之上?
我的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>
椭圆只是表示这些图像视图每个重复 7 次。此外,它们不是我所说的 TRUE ImageViews,它们是扩展的。
这是执行动画的中间图像视图的片段(以 centerimage 作为源)(在 .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);
}
一些重要的考虑因素:我需要为 7 个元素(所有 3 行)保持均匀的水平间距。如果 LinearLayout 无法满足我的目标,我愿意使用不同的 Layout 类型。
谢谢你的时间