2014-03-30 316 views
0

的Android的Java有道理tablerow的我有一個線性佈局 錶行設置,以填補父 錶行我有tablerow的內部三個對象一個TextView然後一個編輯框,然後buttong 他們都排隊水平線性佈局

我想在左邊固定在100P寬 我想右邊的按鈕,固定在50dp寬度TextView的

如何設置的編輯框的中間,這樣三個填充屏幕的寬度可能因設備而異

我試圖匹配和包裝的各種組合,但不能似乎得到它

任何想法

馬克

回答

0

那個時候佈局權係數派上用場。

  • 對於固定元件,只是分配width & height如常。
  • 對於彈性元素,將「0dp」設置爲想要彈性的尺寸,並在權重字段(linearlayout的佈局參數)中輸入weight

其中weight

如果你只有一個彈性元素,它沒有關係。如果您有2個,則可用空間將在權重之間按比例分配。所以,如果你想2個彈性元件,另外的一個兩倍大小,你會分配權重1 & 2.

順便說一句,大量使用LinearLayoutsweight有些氣餒,因爲它需要的Android時間的兩倍計算它們的大小。如果你的表格有很多行,你肯定會注意到它不如固定元素那麼快。

0

您必須爲您的視圖組的特定子項使用layout_weight或使用relativelayout可以解決您的問題,並請張貼布局XML。

0

嘗試以下,使用layout_weight

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <TextView 
     android:layout_width="100dp" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Name" 
     android:id="@+id/textView" /> 

    <EditText 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:id="@+id/editText" 
     android:layout_weight="1" /> 

    <Button 
     android:layout_width="50dp" 
     android:layout_height="wrap_content" 
     android:text="Ok" 
     android:id="@+id/button" /> 
</LinearLayout> 
+0

謝謝你們的作品一種享受 – user3422687