2010-02-21 16 views
6

aşağıdaki gibi görünmek için ListView satır almaya çalışıyorum: imagebutton ileListView satır stil - sola yaslanmış metin ve sağ hizalı simge

| Text-Text-Text      <ImageButton> | 

sağ kenarına tersledi. Bunu nasıl yapabilirim? Kullanmakta olduğum geçerli düzen kodu. Neyi yanlış yapıyorum?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/layercontainer" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#699"> 
<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:layout_gravity="left"> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="YO HOW SI IT GOESSDA" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:layout_gravity="right"> 
    <ImageButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/trash" /> 
</LinearLayout> 
</LinearLayout> 

Kodum anda bu üretir: grrr

cevap

16

Adım # 1: Bir RelativeLayout tabanını kullanın.

Adım 2: koy ImageButton olarak sahip olan android:layout_alignParentRight="true"

Adım 3: koy dikey düzeltmelerinde bir pozisyonlama ve belki de başka bir RelativeLayout.LayoutParams değeri (... için ImageButton kimliğidir) TextView sahip olan android:layout_alignParentLeft="true", android:layout_toLeftOf="..."

+0

+1: Burada

Düzen XML olduğunu. RelativeLayout muhtemelen en uygun olanıdır. –

+0

Bunu bir saniye içinde deneyeceğim. – GuyNoir

+0

Hey! İşe yaradı! Çok teşekkürler. Daha önce hiç RelativeLayout kullanmamıştım, bu yüzden onları kullanmayı düşünmedim. – GuyNoir

2

Aşağıdaki kod parçacığı, bazı metinleri (android:layout_alignParentLeft="true" aracılığıyla yatay olarak sola hizalanmış) ve bir simge (android:layout_alignParentRight="true" aracılığıyla yatay olarak hizalanmış) ve tüm dikey olarak bir Liste Görünümü satırının nasıl oluşturulacağına ilişkin bir örnek sağlar. öğrenilen (android:layout_centerVertical="true").

(küresel stilleri bağlı YMMV) aşağıdaki gibi oluşturur:

Rendering of code example

en sağdaki simgesinin solundaki yerleştirilebilir bir yorumladı aşımı ek simgesi de var; Etkinleştirmek için XML yorum etiketlerini kaldırın.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="?android:attr/listPreferredItemHeight" 
    android:descendantFocusability="blocksDescendants" 
    android:padding="6dp"> 
    <!-- Note: android:descendantFocusability="blocksDescendants" set to ensure that 
    OnItemClickListener works by ensuring constituent controls do not take focus --> 


    <TextView 
     android:id="@+id/lbl_list_item_row_text" 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:lines="1" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:text="My List Item Text" 
     /> 

    <!-- This can be uncommented to add another button 

    <ImageButton 
     android:id="@+id/btn_additional_icon" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/icon_additional_icon" 
     android:layout_centerVertical="true" 
     android:layout_width="wrap_content" 
     android:padding="3dp" 
     android:background="@null" 
     android:src="@drawable/icon_additional_icon" /> 

    --> 

    <ImageButton 
     android:id="@+id/icon_additional_icon" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:background="@null" 
     android:padding="3dp" 
     android:src="@drawable/icon_right_aligned_icon" /> 
</RelativeLayout> 
İlgili konular