2013-08-29 16 views
11

Bir android uygulama geliştirmeye çalışıyorum ancak GUI tasarımında bazı sorunlar yaşıyorum. Ekran görüntüsünün aşağıdaki kısmı benim sorunumdur (Android hata ayıklama seçenekleri ile kırmızı ve mavi çizgiler oluşturulmuştur). Gördüğünüz gibiRelativeLayout'taki görünümlerin çakışmasını engelle

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/caption" 
    android:layout_below="@+id/caption" > 

    <ImageButton 
     android:id="@+id/button_edit" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/content_edit" 
     style="?android:attr/borderlessButtonStyle" /> 

    <TextView 
     android:id="@+id/myText" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:text="@string/num_placeholder" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 


</RelativeLayout> 

, TextView'un myText ımagebutton button_edit örtüşür:

my problem

Bu

kodudur. Basit bir çözüm RelativeLayout yerine bir LinearLayout kullanmak olacaktır.

  1. Ben
  2. Ben de

I (besbelli düzenleme düğmesinin solunda) düzeni geri kalanını doldurmak için metin gerekir sağdaki düzenleme düğmesi gerekir: Sorun olmasıdır myText'in layout_width değerini 'fill_parent' olarak ayarlamaya çalıştı, ancak ekranın geri kalan kısmını düzenleme düğmesinin soluna kadar doldurdu.

beklenen davranıştır (iki çizgiler TextView'un olma) yerine 'button_edit'

Herkes bana yardımcı olabilir örtüşen boyunu uzatır etmek mytext olurdu? TextView'un düzeninde Teşekkür

+0

Bu "LinearLayout" ile elde edilebildiğinde niçin "RelativeLayout" kullanmak istiyorsunuz? – sriramramani

cevap

19

kullanım layout_toLeftOf böyle

:

<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignLeft="@+id/caption" 
android:layout_below="@+id/caption" > 

<ImageButton 
    android:id="@+id/button_edit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_alignParentRight="true" 
    android:src="@drawable/content_edit" 
    style="?android:attr/borderlessButtonStyle" /> 

<TextView 
    android:id="@+id/myText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:text="@string/num_placeholder" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_toLeftOf="@+id/button_edit" /> 

+0

Teşekkürler! Mükemmel çalışıyor! – Gnufabio

+0

Dinamik olarak oluşturulmuş görünümlerle elde etmek istiyorsak ne olur? –

0

yapmanın bir başka yolu android kullanmaktır: öznitelik layout_toEndOf

<ImageButton 
    android:id="@+id/button_edit" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerVertical="true" 
    android:layout_alignParentRight="true" 
    android:src="@drawable/content_edit" 
    style="?android:attr/borderlessButtonStyle" 
    android:layout_toEndOf="@+id/myText" /> 

<TextView 
    android:id="@+id/myText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:text="@string/num_placeholder" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

İlgili konular