我有一个垂直的线性布局,在线性布局中有三个可点击的图像视图。当我使用简单的动画将线性布局旋转 90 度时,问题就出现了。图像视图已正确旋转,但图像视图的 onclick 事件不会与线性布局一起旋转,并且与动画之前一样保持在原始位置。
下面是我的主要java代码
westplayer = (LinearLayout) findViewById(R.id.linearLayout_west);
// Create an animation instance
Animation an = new RotateAnimation(0.0f, 180.0f, 32, 180);
// Set the animation's parameters
an.setDuration(0); // duration in ms
an.setRepeatCount(0); // -1 = infinite repeated
an.setRepeatMode(Animation.REVERSE); // reverses each repeat
an.setFillAfter(true); // keep rotation after animation
// Apply animation to linearlayout
westplayer.setAnimation(an);
上面的代码处理动画部分。下面的代码跟随动画并且应该更新布局位置,但对我不起作用。
// Update Layout
int top=westplayer.getTop();
int bottom=westplayer.getBottom();
int left=westplayer.getLeft();
int right=westplayer.getRight();
westplayer.layout(left, top , right, bottom );
xml如下:
<LinearLayout
android:id="@+id/linearLayout_west"
android:layout_width="42dp"
android:layout_height="250dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/linearLayout_north"
android:duplicateParentState="false"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageViewW1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spades_14"
/>
<ImageView
android:id="@+id/imageViewW2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spades_14"
android:layout_marginTop="-15dp"
/>
<ImageView
android:id="@+id/imageViewW3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spades_14"
android:layout_marginTop="-15dp"
/>
</LinearLayout>
我从中获得了更新布局代码,还找到了另一个解决方案,我也尝试过这个,但仍然没有积极的结果。我需要这个为API 10工作。任何帮助深表感谢