Запрещение события касания для нижнего View внутри FrameLayout - PullRequest
0 голосов
/ 08 декабря 2011

В своей деятельности я использую 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 ]

4 голосов
/ 11 июля 2013

вы можете установить верхний макет как Android: clickable = "true"

0 голосов
/ 23 февраля 2012

вы можете обработать событие onClick вашего представления, которое появляется перед видом на карту, я только что сделал это и работает!: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...