2013-02-13 5 views
5

私は何を達成したいことは、このレイアウトのようなものです:私はその画像のように達成するために、このコードを使用しようとしましたが、残念ながら、私は失敗した enter image description hereこの画像レイアウトのようにAndroid UIを達成する方法は?アンドロイドについて:clipChildren

。 これは私のコードの抜粋です:

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:clipChildren="false" 
     > 



     <RelativeLayout 
      android:id="@+id/text_area_third" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/round_corner_background" 
      android:focusable="false" 
      android:paddingBottom="5dp" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp" 
      android:paddingTop="5dp" > 

      <TextView 
       android:id="@+id/text_download_purch_third" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true" 
       android:layout_alignRight="@+id/acron_icon" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="30dp" 
       android:layout_marginTop="10dp" 
       android:gravity="left" 
       android:maxLines="2" 
       android:text="1asdasdasdasdadsasdasdadasdasdasdasdasdasdasdasd" 
       android:textColor="@color/black" 
       android:textSize="10sp" 
       android:textStyle="normal" /> 

      <ImageView 
       android:id="@+id/acron_icon" 
       android:layout_width="20dp" 
       android:layout_height="20dp" 
       android:layout_alignParentRight="true" 
       android:layout_centerVertical="true" 
       android:layout_margin="5dp" 
       android:layout_marginTop="10dp" 
       android:background="@drawable/acron" 
       android:scaleType="fitCenter" /> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_alignTop="@+id/text_area_third" 
      android:layout_alignLeft="@+id/text_area_third" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@color/orange" 
      android:layout_marginLeft="-10dp" 
      android:layout_marginTop="-10dp" 
      android:padding="3dp" > 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="GET" 
       android:textColor="@color/white" 
       android:textSize="13sp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

    </RelativeLayout> 

enter image description here

あなたはそれを見ることができる、(オレンジの背景色)「GET」ラベルがバインドされ、親によってクリップされています。私はandroid:clipChildren="false"を設定しましたが、まだクリップされています。誰かが私を助けることができますか?

+0

ではなくtext_area_third' 'の(' layout_alignParentTop/Left'を使用して)(そして、それに応じて 'layout_marginLeft/Top'を調整しますか)? – Geobits

+0

@Geobits:私もそれを試しましたが、同じエラーが発生しました –

答えて

3

単一RelativeLayoutを移動するための方法であります。できるだけシンプルにすることを忘れないでください。 RelativeLayoutでは、最後に宣言された要素が他の要素の上にレンダリングされます。以下のXMLは、あなたのニーズに合っている必要があります。イメージとマージンとサイズを必要に応じて調整するだけです。あなたが親のレイアウトにそれを合わせるとどう

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="180dp" 
    android:layout_height="60dp" 
    android:background="#DDD" > 

    <TextView 
     android:id="@+id/text_download_purch_third" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="3dp" 
     android:layout_marginLeft="12dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginTop="10dp" 
     android:background="@drawable/round_corner_background" 
     android:maxLines="2" 
     android:paddingLeft="4dp" 
     android:paddingRight="25dp" 
     android:paddingTop="16dp" 
     android:text="1asdasdasdasdadsasdasdadasdasdasdasdasdasdasdasd" 
     android:textColor="@color/black" 
     android:textSize="10sp" 
     android:textStyle="normal" /> 

    <ImageView 
     android:id="@+id/acron_icon" 
     android:layout_width="20dp" 
     android:layout_height="20dp" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:layout_margin="5dp" 
     android:layout_marginTop="10dp" 
     android:background="@drawable/acron" 
     android:scaleType="fitCenter" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="8dp" 
     android:layout_marginTop="4dp" 
     android:background="#FFA0A0" 
     android:padding="2dp" 
     android:text="GET!" 
     android:textColor="@color/white" 
     android:textSize="13sp" 
     android:textStyle="bold" /> 

</RelativeLayout> 
0

FrameLayoutの使用について考えましたか?これは、簡単に画像の重ね合わせを行い...(作る1つのレイアウト/ビューは、別の最上部に表示されます)...ここに...良いチュートリアルです

http://mobile.tutsplus.com/tutorials/android/android-sdk_frame-layout/

+0

['FrameLayout'](http://developer.android.com/reference/android/widget/FrameLayout.html) 1人の子供よりも。 – Eric

+1

別の画面解像度を気にしない場合は、ドキュメントで大丈夫だと言われます。 – chuthan20

+0

@Eric:FrameLayoutが1つ以上の子供を保持するために使用されない理由を詳細に説明できますか? –

関連する問題