2016-04-30 42 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();