androidxmllistviewlayoutslidingdrawer

Z-index in android?


I've more than one element 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 my code in my picture below

enter image description here

How to fix it?


Solution

  • 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>