如何在图层列表中的特定图层上检测事件?

时间:2013-11-18 23:16:14

标签: android android-layout android-imageview

有点新问题,但我希望能够做到这一点。

我有一个看起来像这样的图像层列表:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/start_comp" />
    <item android:drawable="@drawable/background" />
</layer-list>

我希望能够使用OnClickListener(或其他)来检测何时轻触其中一个drawable(start_comp)。我怎么能做这个Android魔术的美妙行为?

谢谢!

1 个答案:

答案 0 :(得分:2)

你做不到。 Drawables不会收到点击事件,无论它们是layer-list还是任何其他类型的drawable。

相反,您可能希望使用支持Z轴排序的容器(例如RelativeLayoutFrameLayout)将两个小部件叠加在一起。例如,以下是RelativeLayout支持两个Button小部件:

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

        <Button
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="@string/big"
                android:textSize="120dip"
                android:textStyle="bold"/>

        <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:text="@string/small"/>

</RelativeLayout>

(来自this sample project