我在RelativeLayout中遇到z排序的奇怪问题。
要求
视图v2应始终高于btn1,无论其是TextView还是Button
问题
当我在RelativeLayout
中有两个视图时,一个Button和TextView <RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@color/transparent"
android:clickable="false"
android:drawableTop="@drawable/dr1"
android:singleLine="true"
android:text="Button"
android:textColor="#FFFFFF"
android:textSize="9dp" >
</Button>
<TextView
android:id="@+id/v2"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignTop="@+id/btn1"
android:layout_marginTop="2dp"
android:background="@drawable/bg_red"
android:gravity="center"
android:singleLine="true"
android:text="0"
android:maxLength="2"
android:textColor="@color/white"
android:textSize="10dp"
android:visibility="invisible"
android:clickable="false"
/>
</RelativeLayout>
但是当渲染视图时TextView会在按钮后面,当我用Button替换TextView时,视图变得正常,代码显示视图v2高于btn1
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@color/transparent"
android:clickable="false"
android:drawableTop="@drawable/dr1"
android:singleLine="true"
android:text="Button"
android:textColor="#FFFFFF"
android:textSize="9dp" >
</Button>
<Button
android:id="@+id/v2"
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_alignTop="@+id/btn1"
android:layout_marginTop="2dp"
android:background="@drawable/bg_red"
android:gravity="center"
android:singleLine="true"
android:text="0"
android:maxLength="2"
android:textColor="@color/white"
android:textSize="10dp"
android:visibility="invisible"
android:clickable="false"
/>
</RelativeLayout>
因此,当我在Button上方有TextView时,它会在Button后面呈现它,但是当我用Button替换TextView标签时,视图变得正确,视图V2显示在前面
当我在ImageView中加载图像时,类似的问题,当没有设置ImageView src并使用背景时,ImageView后面的视图是可见的,当设置图像src时,视图在前面的前面会返回< / p>
答案 0 :(得分:0)
将android:elevation="2dp"
添加到您的视图v2
。这将把它带到其他视图的顶部。
编辑:代码方法
将以下内容添加到Activity
课程中:yourView.bringToFront();