在FrameLayout内部的View下面禁止触摸事件

时间:2011-12-07 20:45:07

标签: android android-layout

在我的活动中,我使用FrameLayout作为根容器。在里面,我放置了SlidingDrawer和osmdroid MapView。当我打开SlidingDrawer 并触摸它时,MapView 也会收到触摸事件并移动磁贴。如何解决此问题?这是我的布局文件:

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

    <org.osmdroid.views.MapView
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        tilesource="MapquestOSM" />

    <SlidingDrawer
        android:id="@+id/SlidingDrawer"
        android:layout_width="fill_parent"
        android:layout_height="250dip"
        android:layout_alignParentBottom="true"
        android:layout_gravity="bottom">

        <TextViev />
        <RelativeLayout>
            <Button/>
        </RelativeLayout>
    </SlidingDrawer>

</FrameLayout>

我使用FrameLayout,因为它可以实现所需的布局定位。也许有另一种方法可以做我想要的事情?

以下是它的外观:

enter image description here

2 个答案:

答案 0 :(得分:4)

你可以设置像android这样的顶层布局:clickable =“true”

答案 1 :(得分:0)

你可以处理出现在mapview前面的视图的onClick事件,我就是这么做了! :d