SlidingDrawer, скрытый изображением в SurfaceView

У меня есть как SlidingDrawer, так и пользовательский SurfaceView, который отображает изображение. Я только что попытался перетащить SlidingDrawer вверх и при этом обнаружил, что он находится за изображением в SurfaceView и полностью скрыт.

Как вы понимаете, от этого не будет особой пользы для пользователя и, следовательно, изображение должно всегда отставать от SlidingDrawer, когда его поднимают. Возможно ли это?

Если это помогает, это SlidingDrawer в xml:

<SlidingDrawer
             android:id="@+id/drawer"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:handle="@+id/handle"
             android:content="@+id/content"
             android:layout_alignParentBottom="true">

             <TextView
                 android:id="@id/handle"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:paddingTop="5dip"
                 android:paddingBottom="5dip"
                 android:textStyle="bold"
                 android:text="text"/>


            <include layout="@layout/content"
                 android:id="@id/content"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"/>

         </SlidingDrawer>

А это SurfaceView в xml:

<FrameLayout android:id="@+id/FrameLayout01" 
        android:layout_width="fill_parent" android:layout_height="fill_parent">
        <com.android.imagemagic.widgets.ImageManipulationSurfaceView
        android:id="@+id/surfaceArea"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:layout_gravity="center"/> 
    </FrameLayout>  

SurfaceView является настраиваемым и использует следующий код в методе onDraw ():

@Override
public void onDraw(Canvas canvas) { 
    super.onDraw(canvas);

    //Clear canvas
    Paint paint = new Paint();
    paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
    canvas.drawPaint(paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC));

    // Draw image
    canvas.drawBitmap(image, imageX, imageY, null);
}
5
задан Richard Lewin 26 January 2012 в 12:07
поделиться