Z-index in android?
45,003
Solution 1
Your xml does not contain your outer layout, but I assume it is a relative layout. In a RelativeLayout
, the elements' z levels are determine by the order they are added to the container. View added later will be on top. Try moving your sliding drawer to the bottom of your outer container. Like this --
<ListView android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
android:layout_above="@+id/InnerRelativeLayout"
android:layout_alignParentTop="true"
/>
<RelativeLayout
android:id="@+id/InnerRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<Button
android:text="kirim"
android:id="@+id/button_send"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="tambahItems"
>
</Button>
</RelativeLayout>
<com.ltvie.chat.MultiDirectionSlidingDrawer
xmlns:my="http://schemas.android.com/apk/res/com.ltvie.chat"
android:id="@+id/drawer"
my:direction="topToBottom"
android:layout_width="fill_parent"
android:layout_height="match_parent"
my:handle="@+id/handle"
my:content="@+id/content"
>
<include
android:id="@id/content"
layout="@layout/pen_content"
android:gravity="top"
/>
<ImageView
android:id="@id/handle"
android:layout_width="wrap_content"
android:layout_height="5dp"
android:src="@drawable/sliding_drawer_handle_bottom" />
</com.ltvie.chat.MultiDirectionSlidingDrawer>
Solution 2
you can just add translation for Z as you want(1dp,2pd,...) like:
<ImageView
android:id="@+id/imageView0"
android:layout_width="110dp"
android:layout_height="110dp"
android:layout_marginTop="25dp"
android:contentDescription="@string/desc"
android:translationZ="1dp"
app:srcCompat="@drawable/ic_icon" />
Author by
ltvie
Updated on February 13, 2022Comments
-
ltvie over 2 years
I've more than one elemen in one xml.. listview,slidingdrawer,edittext and button... i want to sliding drawer order is always in front of another elements...but i can't..
here my xml
<com.ltvie.chat.MultiDirectionSlidingDrawer xmlns:my="http://schemas.android.com/apk/res/com.ltvie.chat" android:id="@+id/drawer" my:direction="topToBottom" android:layout_width="fill_parent" android:layout_height="match_parent" my:handle="@+id/handle" my:content="@+id/content" > <include android:id="@id/content" layout="@layout/pen_content" android:gravity="top" /> <ImageView android:id="@id/handle" android:layout_width="wrap_content" android:layout_height="5dp" android:src="@drawable/sliding_drawer_handle_bottom" /> </com.ltvie.chat.MultiDirectionSlidingDrawer> <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:stackFromBottom="true" android:transcriptMode="alwaysScroll" android:layout_above="@+id/InnerRelativeLayout" android:layout_alignParentTop="true" /> <RelativeLayout android:id="@+id/InnerRelativeLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" > <Button android:text="kirim" android:id="@+id/button_send" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="tambahItems" > </Button> </RelativeLayout>
the result of mycode in my pict bellow :D
i want to know how to fix it??
regard,
-
iagreen over 11 yearsright and the outer layout you've shown is a relative layout. Move the entire sliding drawer block to the bottom of the xml code you've shown. (see edit).
-
ltvie over 11 yearsslidingdrawer succes in front..but i got new problem...listview doesn't display,,,i get error java.lang.ClassCastException: android.widget.listview
-
iagreen over 11 yearsthe xml change should not cause that error. Have you changed your java code recently? I would need to see more of the logcat and code to tell you what is going on there.