2011-12-28 2 views
4

Я пишу XML в следующий способ, list_item2 содержит TextView и EditText, в то время как list_item еще один XML содержит только TextView,TextView и EditText в одном ряду на Android?

<?xml version="1.0" encoding="utf-8"?> 

<TextView android:id="@+id/textItem" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="16sp" > 
</TextView> 

    <EditText 
    android:id="@+id/editText1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 
</EditText> 

Я использую XML в ListView , такие как

public View getView(int position, View convertView, ViewGroup parent) { 
     View row; 

     if(position!=2) { 
       LayoutInflater inflater = getLayoutInflater(); 
       row = inflater.inflate(R.layout.list_item, parent, false); 
     } 
     else { 
      LayoutInflater inflater = getLayoutInflater(); 
      row = inflater.inflate(R.layout.list_item2, parent, false); 
     } 
     TextView tv = (TextView) row.findViewById(R.id.textItem); 
     tv.setText(getItem(position)); 

     tv.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 

      } 
     }); 

but It создает выход, как

TextView 

EditText 

Я хочу как на той же строке, например

TextView  EditText 

Любой один отредактируйте XML и дайте мне знать иерархию для создания графического интерфейса пользователя в приложения Android

ответ

11

Возьмите ваш EditText и TextView внутри a LinearLayout с горизонтальной ориентацией (который применяется по умолчанию) и установите layout_weight = 1 или что бы вы хотели сделать EditText и TextView

<LinearLayout android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 
<TextView android:id="@+id/textItem" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_weight="1" 
    android:padding="10dp" 
    android:textSize="16sp" /> 
    <EditText 
    android:id="@+id/editText1" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1"/ > 
</LinearLayout> 
+0

@Aadil Soomro, я искал вас в чатах: -P –

+0

в основном я доступен в [Случайный чат] (http://chat.stackoverflow.com/rooms/1531/casual-chat) –

+0

Работа Дорогой, не могли бы вы объяснить мне, как работает вес 1? –

2

использовать следующий макет

<?xml version="1.0" encoding="utf-8"? 
    <LinearLayout 
      android:id="@+id/lnrTitle" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

    <TextView android:id="@+id/textItem" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:weight="1" 
     android:textSize="16sp" > 
    </TextView> 

     <EditText 
     android:id="@+id/editText1" 
     android:layout_width="fill_parent" 
    android:weight="1" 

     android:layout_height="wrap_content" > 

    </EditText> 
    </LinearLayout> 
+0

@ bindal-android: orientation = "vertical"? –

+0

извините его за мою ошибку – bindal

+0

@ bindal-NO беспокоится :) +1 за усилие :) –

1

Добавить один родительский Разметка сказать LinearLayout к вашему XML, как это:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 
<TextView android:id="@+id/textItem" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:padding="10dp" 
android:textSize="16sp" > 
</TextView> 
<EditText 
android:id="@+id/editText1" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" > 
</EditText> 
</LinearLayout> 
1
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" 
     android:gravity="center" 
     android:padding="10dp"> 

    <TextView android:id="@+id/textItem" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="10dp" 
     android:textSize="16sp" > 
    </TextView> 

    <EditText 
     android:id="@+id/editText1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" > 
    </EditText> 
</LinearLayout> 
0

Ницца и быстрое решение, принятое сегодня многими приложениями, добавьте эти теги в свой TextView

android:ellipsize="end" 
android:maxLines="1" 

Теперь ваш текст представляет собой одну строку с тремя точками до конца.

Смежные вопросы