一开始我认为这个问题很容易解决,但事实证明这是一个挑战。
场景 一个 FrameLayout 和两个 ImageView,一个在另一个之上。第一个图像有一个翻译动画和一个 onClick 事件。让我们把它翻译成一些实际的东西:Framelayout 有一个 Rabbit 图像和一个 Bush 图像。兔子有一个平移动画,所以它会移出灌木丛。一旦兔子变得可见,用户就可以点击它。不幸的是,这不能按预期工作。即使兔子不可见(在灌木后面),如果用户点击灌木,兔子的点击事件也会触发。我试图为灌木图像添加 onClick 事件(它不做任何事情),但现在只有这个会触发,而兔子不会。
代码
动画片
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0%"
android:toXDelta="100%"
android:fromYDelta="0%"
android:toYDelta="0%"
android:duration="25000"
android:zAdjustment="top" />
布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layBackground"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/someimage">
<ImageView android:id="@+id/imgAfterBush"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:layout_marginLeft="50dip"
android:onClick="imgAfterBushOnClick"/>
<ImageView android:id="@+id/imgBush"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bush"
android:layout_gravity="bottom|left"
/>
</FrameLayout>
我希望 Rabbit 图像的 onClick 事件仅在可见时触发。有什么解决办法吗?谢谢你。