Android - 从RelativeLayout到兄弟Relativeayout的动画视图

时间:2014-08-16 18:14:21

标签: android android-layout android-animation android-relativelayout

我的ActivityRelativeLayout个主视图,标识为parent。在此我有两个RelativeLayoutschild1child2

我想将ImageView的{​​{1}}动画设为child2 RelativeLayout。我不希望图片在child1中消失,然后突然出现在child2中。

child1

我无法在不使用<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/parent"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/child1"/> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/child2"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/image" android:layout_centerInParent="true"/> </RelativeLayout> </RelativeLayout> addView的情况下找到这样做。如果我这样做,removeView只会出现在ImageView中,而我无法顺利制作动画。

我有以下可能的方式的想法,但感觉就像一个真正的长期黑客。

  • 找到child1
  • xy
  • ImageView
  • 中添加重复的视图
  • parent
  • 删除原件
  • child2中的副本设置为parent中的正确位置(这可能需要进行潜在的难度计算)
  • child1中添加原始视图,该视图位于重复视图
  • 下方
  • 删除重复的视图

还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试这样一个简单的方法:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/parent">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/child1>

       <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/image2"
            android:layout_centerInParent="true"/>

       </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/child2">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/image2"
            android:layout_centerInParent="true"
            android:visibility:gone/>
    </RelativeLayout>

</RelativeLayout>

并且在Java中按下按钮时,例如,只需将drawable添加到&#34; image2&#34;,设置可见&#34; image2&#34;并隐藏&#34; image1&#34;。