2011-01-27 2 views
3

У меня есть следующий код, который является основой для списка.checkboxes в tablerow отталкивается от экрана textview

Идея состоит в том, чтобы флажок всегда выравнивался справа от экрана. Если текст слева от него слишком длинный, мне бы хотелось, чтобы он был эллипсирован «...» или отрезан от грациозно.

Он отлично работает, если текст короткий, но не такой, как текст длинный. Любой совет?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

<TableLayout android:id="@+id/TableLayout01" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0" 
> 

    <TableRow 
     android:id="@+id/TableRow01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
    > 

     <TextView android:id="@+id/name" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dip" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="This is a very very long title 12345678"  
     /> 

     <CheckBox android:id="@+id/checkbox" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"   
     /> 

    </TableRow> 
</TableLayout> 

</LinearLayout> 

ответ

1

Не слишком уверен, почему вы используете TableRow но вы лучше оберточной в TextView и Checkbox в макете линейной и установите layout_width в 0dip и использовать Android: layout_weight установить отношения как TextView а флажок.

например:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="fill_parent"> 
    <TextView android:id="@+id/TextView01" android:layout_height="wrap_content" 
     android:layout_width="0dip" android:layout_weight="3" android:text="TextView"></TextView> 
    <CheckBox android:id="@+id/CheckBox01" android:layout_height="wrap_content" 
     android:layout_width="0dip" android:layout_weight="1"></CheckBox> 
</LinearLayout> 
+0

Спасибо, что, кажется, работает хорошо. Причина, по которой я использовал макет таблицы, - это то, что все, что я действительно хотел сделать, это иметь список с правильно выровненными флажками, а затем Google привел меня к этому примеру: http://huuah.com/using-tablelayout-on-android/ Когда я делаю это так, как вы его рекомендовали, но текст отключается на следующей строке. На данный момент это не biggie. Трудно показать на этом примере, потому что у вас должно быть несколько элементов в списке ... –

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