2011-08-25 94 views
0

我已經擺弄了將近一個小時,並沒有想通了,所以尋求一些幫助。Android List row tablelayout issue

正如你可以在這裏看到我的圖片第二行不顯示覆選框。由於長文本,它已被推離屏幕右側。

rows

我想什麼是左側的形象始終在那個地方,並在右側的複選框,始終在那個地方。中間的標題文本應適合這兩種東西包裝到它所需要的儘可能多的行。

我確實通過設置'Ems'屬性來實現它,但我不認爲這是解決這個問題的正確方法。

這裏是XML:

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp"> 
    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/bg_ffa_1" /> 
</LinearLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <TableLayout 
     android:layout_height="wrap_content" 
     android:layout_width="fill_parent" 
     android:stretchColumns="1"> 
     <TableRow 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:paddingTop="5dp"> 
       <TextView 
        android:id="@+id/article_row_title_label" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_column="1" 
        android:textColor="#3A3C3B" 
        android:textSize="12dp" 
        android:textStyle="bold" 
        android:inputType="textMultiLine" 
        android:text="Article 1" /> 
      </LinearLayout> 
      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right"> 
       <CheckBox 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
      </LinearLayout> 
     </TableRow> 
    </TableLayout> 
</LinearLayout> 

回答

0

啊!我懷疑它。只要我提出這個問題,我是否可以解決這個問題。

的關鍵是增加

android:layout_weight="1" 

的線性佈局披着TextView的,當你知道簡單!

0

你可能會與relative layout更好。

+0

嗯,我需要猜測TextView的寬度雖然對不對?這將如何在不同屏幕尺寸下工作? – C0deAttack

+0

否。RelativeLayout的意義在於您可以將元素相對於彼此進行定位。 –

+0

正確,但如果我有類似的東西,複選框是textview的左側,如何確保複選框在屏幕上保持可見時,textview有一個長字符串? – C0deAttack

0

這種佈局爲您的列表視圖項應該得到你想要的結果:

<?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="wrap_content"> 
    <ImageView android:id="@+id/myImage" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentLeft="true"/> 
    <TextView  android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_toLeftOf="@id/myImage"/> 
    <CheckBox  android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true"/> 
</RelativeLayout>