2016-04-30 45 views
0

我在使用RelativeLayout中的z排序时遇到了一个奇怪的问题。Android relativeLaout Z排序错误

的要求

查看V2应该始终高于BTN1不论其是否一个TextView或按钮

的问题

时,我有两个视图内的一个按钮和TextView的RelativeLayout

 <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的去后面的按钮,当我与巴顿取代的TextView的角度的正确下面的代码显示了上述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> 

视图V2所以当我有TextView的上述按钮,它会呈现它背后的巴顿但是当我刚替换按钮的TextView标签视图成为正确和视图V2被设置于前


类似的问题所示,当我在未设置ImageView的SRC在ImageView的,加载图像和背景是使用ImageView背后的视图是可见的,当一个图像src被设置的时候,视图更早在前面回去

+0

它看起来OK。请发送你的xml –

+0

那么你的问题是什么?你想把视图带到顶端吗?如果你想把所有的东西都放在同一个Z中,那么你应该把你的视图调整到其他视图的底部或顶部,这样它们的位置就不会落后于任何其他视图。请张贴您的XML文件代码,否则我们很难给您一个更好的答案。 – Asama

+0

在相对布局中,z顺序取决于如何初始化视图,因此RelativeLayout顶部的视图将具有最低z顺序,而RelativeLayout底部的视图将具有最高z顺序并且将高于所有视图但不保证真的 –

回答

0

android:elevation="2dp"添加到您的视图v2。这将把它带到其他视图的顶部。

编辑:代码方法

以下内容添加到您的Activity类:yourView.bringToFront();