Android中的Z-index?

时间:2013-01-13 02:04:01

标签: android xml listview layout slidingdrawer

我在一个xml中有多个元素.. listview,slidingdrawer,edittext和button ... 我想滑动抽屉顺序总是在另一个元素面前...但我不能..

这里是我的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>

我的图片中的mycode结果:D

enter image description here

我想知道如何解决它?

方面,

3 个答案:

答案 0 :(得分:18)

您的xml不包含外部布局,但我认为它是相对布局。在RelativeLayout中,元素的z级别由它们添加到容器的顺序决定。稍后添加的视图将位于顶部。尝试将滑动抽屉移动到外部容器的底部。像这样 -

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

答案 1 :(得分:2)

您可以根据需要为 Z 添加翻译(1dp,2pd,...) 喜欢:

<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" />

答案 2 :(得分:-1)

如果不是相对布局,可以使用[your_variable].bringToFront()。

这对我有用! (我正在使用约束布局)