2013-02-13 20 views
5

Ne elde etmek istiyorum bu düzen gibi: O görüntü gibi elde etmek, bu kodu kullanmayı denedi, ama ne yazık ki, ben başarısız enter image description hereAndroid kullanıcı arayüzü bu görüntü düzenine nasıl sahip olunur? android hakkında: 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

Bunu görebilirsiniz, (turuncu arka plan ile) "GET" etiketi bağlı ebeveyn ile kırpılır: Bu benim kod snippet'idir. android:clipChildren="false"'u ayarladım, ancak yine de kırpılmış. Birisi bana yardım edebilir mi?

+0

yerine text_area_third' 'arasında (' layout_alignParentTop/Left' kullanılarak) (Ve buna göre 'layout_marginLeft/Top' ayarlayın)? – Geobits

+0

@Geobits: Ben de denedim ama aynı hata oldu –

cevap

3

Tek RelativeLayout gitmek yoludur . İşleri olabildiğince basit tutmayı unutmayın. RelativeLayout'da son bildirilen öğeler diğerlerinin üzerine işlenir. Aşağıdaki XML (kinda) ihtiyaçlarınızı karşılamalıdır, sadece görüntüleri ve kenar boşluklarını ve boyutlarını istediğiniz gibi ayarlayın. Üst düzenine aynı hizaya getirmek ne olur

<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'u kullanmayı düşündünüz mü? Yani kolay görüntünün üst üste yerleştirilmesini yapar ... (yapım bir düzen/görünüm diğerinin üstünde görünür) ... İşte ... iyi bir öğretici

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

+0

['FrameLayout'] (http://developer.android.com/reference/android/widget/FrameLayout.html) daha fazla tutmak için asla kullanılmamalıdır bir çocuktan daha – Eric

+1

belgesi, farklı ekran çözünürlüğünü umursamıyorsanız onu kullanmanın uygun olmadığını söylüyor .. – chuthan20

+0

@Eric: FrameLayout'un 1 çocuktan daha fazlasının tutulması için kullanılmasının nedenleri hakkında daha fazla bilgi verebilir misiniz? –

İlgili konular