3

我有两个元素的相对布局。其中之一是隐藏的。像这样的东西(为示例简化)

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/fullscreenimage"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <AbsoluteLayout
        android:id="@+id/layout_overlay"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:layout_centerInParent="true"
        android:visibility="gone" >

        <ImageView
            android:id="@+id/imageView_option1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_x="0dp"
            android:layout_y="0dp"
            android:src="@drawable/image1"
            android:tag="1" />

        <ImageView
            android:id="@+id/imageView_option2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:layout_x="100dp"
            android:layout_y="0dp"
            android:src="@drawable/image2"
            android:tag="2" />
    </AbsoluteLayout>
</RelativeLayout>

在全屏图像上检测到长按(而不是抬起手指)后,我想显示这些选项并突出显示用户手指下的选项。我更改了覆盖布局的可见性,但从未调用选项图像上的 touchListeners。尝试从全屏图像的触摸监听器返回 false,它一直被调用,但选项图像上的监听器从未被调用。

4

2 回答 2

0

你必须改变 clickable 属性,就像 Ken Wolf 说的那样。

layout_overlay.setClickable(false)

于 2014-01-13T18:15:45.420 回答
0

ImageViews通常不能点击,也不会正常触发 onClickListeners,除非您明确将它们设置为。

添加

android:clickable="true"
android:enabled="true"

给他们。

于 2013-06-07T16:06:21.323 回答