加入两个或多个ImageView

时间:2015-06-23 12:41:07

标签: java android imageview

我的布局中有4个Framelayout和2个ImageViews(一个可见,一个不可见)。在onMap上第一个ImageView后,在Framelayout中,它旋转到第二个ImageView。就像在这个例子中一样(http://www.inter-fuser.com/2009/08/android-animations-3d-flip.html)。它工作正常,但是有没有选择组合两个或更多ImageViews?所以如果我点击第一张图片(android:id =" @ + id / HotView1")我的android:id =" @ + id / HotView2"和android:id =" @ + id / WarmView2"将togehter旋转为一个图像?

当然,我可以按顺序旋转每个视图,但由于旋转时的摄像机角度,这看起来不太好。是否有任何简单快速的解决方案?

[...]
    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center" >

        <ImageView
            android:id="@+id/HotView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/hot_notactiv" />

        <ImageView
            android:id="@+id/HotView2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/hot_activ" />
    </FrameLayout>

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >

        <ImageView
            android:id="@+id/WarmView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/warm_notactiv" />

        <ImageView
            android:id="@+id/WarmView2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/warm_activ" />
    </FrameLayout>
[...]

1 个答案:

答案 0 :(得分:0)

首先关闭所有要设置动画的LinearLayout和ImageView的ID。这样你就可以参考它们了。

然后定义一个将为传递的视图设置动画的函数,如:

public void myAnimation(View viewToAnimate) {
 // Your code for animating which will be comman
}

现在获取LinearLayout和ImageView的引用,检查要为哪个视图设置动画的条件,例如:

if(wantToAnimateLinearLayout == true) {
   myAnimation(linearLayoutReference);
} else {
  myAnimation(imageViewReference);
}