Mam zarówno SlidingDrawer i niestandardowy SurfaceView, który renderuje obraz. Właśnie próbowałem przeciągnąć SlidingDrawer do góry iw ten sposób odkryłem, że idzie za zdjęcie w SurfaceView i jest całkowicie ukryte.SlidingDrawer ukryte przez obraz w SurfaceView
Jak można sobie wyobrazić, nie będzie to zbytnio użyteczne dla użytkownika, a zatem konieczne jest, aby obraz zawsze znajdował się za SlidingDrawer, gdy jest on podciągnięty. czy to możliwe?
Okrywać pomaga to SlidingDrawer w 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>
I to jest SurfaceView w 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 jest zwyczaj i wykorzystuje następujący kod w OnDraw () metoda:
@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);
}
Powiedziałem, że w moim komentarzu: p cieszę się, że znalazłeś to – Blundell
Ja też! Dzięki za pomoc. –
Jeśli chcesz narysować układ na najwyższym poziomie: 'sv.setZOrderMediaOverlay (true)' –