1

我有一个谷歌地图和一个相对布局内的线性布局。在与地图进行某些交互后,线性布局变得可见,然后与地图重叠。

重叠的线性布局包含一些控件,但点击或触摸线性布局中的控件会影响地图,地图位于 UI 中的线性布局下方。

如何让我的线性布局响应触摸事件(而不是地图)?

这是我的布局

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

<include
    android:id="@+id/include"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/general_map_fragment" />

<LinearLayout
    android:id="@+id/drawer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="#ffffff"
    android:padding="15dp"
    android:visibility="invisible">

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="200dp" >

        ...

    </TableLayout>


</LinearLayout>

4

3 回答 3

0
// try this
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <include
        android:id="@+id/include"
        android:layout_width="wrap_content"
        android:layout_weight="1"
        android:layout_height="0dp"
        layout="@layout/general_map_fragment" />

    <LinearLayout
        android:id="@+id/drawer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:padding="15dp"
        android:visibility="invisible">

        <TableLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minWidth="200dp" >

            ...

        </TableLayout>


    </LinearLayout>

</LinearLayout>
</ScrollView>
于 2013-10-26T12:06:54.483 回答
0

用这个

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

<include
    android:id="@+id/include"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/general_map_fragment" />

<LinearLayout
    android:id="@+id/drawer"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:background="#ffffff"
    android:clickable="true"
    android:padding="15dp"
    android:visibility="invisible">

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:minWidth="200dp" >

        ...

    </TableLayout>


</LinearLayout>
于 2013-10-26T11:26:28.573 回答
0

将 上的可点击属性设置LinearLayout为 true。将LinearLayout捕获事件并且不会将事件传递给地图片段。

将此行添加到您的LinearLayout

android:clickable="true"
于 2013-10-26T11:44:27.490 回答