2010-02-28 101 views
1

編輯:我是一步比以前Android TableLayout問題:獲取固定寬度的右列?

我一直在試圖讓一個簡單的2列TableLayout要去哪裏我在左欄的LinearLayout,我動態元素添加到其填充除固定的100px右列以外的水平空間。

這是我迄今爲止對我有效的方法,如果LinearLayout包含多個元素。如果僅包含一個元素,右列被擠出來的東西我已經試過屏幕

<ScrollView android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@layout/main"> 
    <TableLayout android:layout_width="fill_parent" 
       android:layout_height="fill_parent"> 
    <TableRow> 
     <LinearLayout android:id="@+id/LinearLayout01" 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:layout_weight="0.4" 
         android:orientation="vertical"></LinearLayout> 
    <com.epaga.ArcDrawableView 
         android:layout_width="fill_parent" 
         android:layout_height="fill_parent" 
         android:gravity="right" android:layout_weight="0.1" > 
     </com.epaga.ArcDrawableView> 
    </TableRow> 
    </TableLayout> 
</ScrollView> 

的權利:改變繪製視圖(這應該是固定的

  • 柱)android:layout_width="150px"
  • 改變stretchcolumns設置爲0。
  • 改變左列layout_width要麼FILL_PARENT(推關閉屏幕的右列)或WRAP_CONTENT(合攏左欄)

有什麼想法?

回答

4

有什麼想法?

首先,您爲什麼要使用TableLayout?爲什麼不只是使用嵌套LinearLayouts?你已經決定你不關心TableLayout的主要用途 - 自動計算列大小 - 因爲你試圖自己修復列大小。

其次,你可以使用一個普通的小工具,而不是你自定義的View類來工作嗎?你的問題可能是由於你的自定義View - 我會開始按照你想要的方式使用普通的小部件工作。

+0

哈!謝謝,嵌套的LinearLayouts工作。我沒有做水平LinearLayout,因爲我認爲它會將元素推離屏幕,但是當我將layout_width設置爲fill_parent時,它效果很好。我認爲這將是這樣的事情。 – Epaga 2010-02-28 18:16:50