Событие onClick для SlidingDrawer не вызывается - PullRequest
2 голосов
/ 28 февраля 2011

Я создал RelativeLayout, содержащий ImageView и SlidingDrawer.Я установил onClickListener в ImageView, а другой - в контентной части SlidingDrawer.Когда SlidingDrawer открыт и я щелкаю по его части содержимого, запускается событие onClick в ImageView.

Почему?Разве SlidingDrawer не находится над ImageView?

Спасибо

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="@drawable/background"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:id="@+id/whip"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" />  

    <SlidingDrawer
         android:id="@+id/drawer"
         android:layout_width="wrap_content"
         android:layout_height="53dp"
         android:layout_alignParentBottom="true"
         android:orientation="horizontal"

         android:handle="@+id/facebook_icon"
         android:content="@+id/facebook_contacts">

         <ImageView
             android:id="@+id/facebook_icon"
             android:layout_width="55dp"
             android:layout_height="53dp"         
             android:src="@drawable/facebook_handler_off" />

         <ImageView android:id="@+id/facebook_contacts"
                android:layout_width="265dp"
                android:layout_height="53dp"                
                android:src="@drawable/facebook_content" /> 

    </SlidingDrawer>

</RelativeLayout>

1 Ответ

1 голос
/ 28 февраля 2011

Попробуйте перехватить события мыши с помощью логического onInterceptTouchEvent (событие MotionEvent)

Предоставляя документу, этот метод "перехватывает все события движения сенсорного экрана".

Вы возвращаете trueесли вы хотите обработать конкретное MotionEvent (с указанием параметров) с помощью SlidingDrawer.

Смотрите также onTouchEvent(MotionEvent event) :)

http://developer.android.com/reference/android/widget/SlidingDrawer.html#onInterceptTouchEvent(android.view.MotionEvent)

...