2016-04-30 15 views
0

RelativeLayoutでzの順序が変わった問題に直面しています。私は2つのビュー内のボタンとのTextViewを持っている場合Android relativeLaout Zオーダーのバグ

要件

ビューv2は、常にその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> 

     <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を交換する際にビューがコードの下に適切になり、私はボタンの上の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を示しボタンしかし、私はちょうどビューが適切になると、ビューV2は、ImageViewののSRCが設定されていないとき、私はImageViewの、画像を読み込む際に、フロント


同様の問題に示されており、ボタン付きのTextViewタグを取り付けたときに背景はImageViewの背後のビューが表示され、画像srcが設定されているときにビューの前に表示されます。

+0

それはOKに見えます。あなたのxmlを送ってください –

+0

あなたの質問は何ですか?あなたは一番上に景色を持っていきたいですか?あなたが他のビューよりも背後にないように、他のビューの一番下または一番上にビューを整列させる必要があります。あなたのXMLファイルコードを投稿してください。そうしないと、より良い答えを与えることが難しくなります。 – Asama

+0

相対レイアウトでは、ビューの初期化方法によってzオーダーが異なるため、RelativeLayoutの一番上のビューはzオーダーが最も低く、RelativeLayoutの下のewはzオーダーが最も高く、すべてのビューよりも上になりますしかしそれは真実を保つことはありません –

答えて

0

android:elevation="2dp"をビューに追加v2これにより、他のビューの上部に表示されます。

編集:コード方式

あなたActivityクラスに以下を追加します。yourView.bringToFront();

関連する問題