2012-10-15 49 views
1

我想設置基於android:layout_weight。我已經UI下面的代碼結構 如何使用Android:layout_weight與列表視圖

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="25" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="25" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 
</LinearLayout> 

<ListView 
    android:id="@+id/relatedContent" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="60dp" 
    android:layout_weight="50" 
    here="" 
    problem="" 
    android:cacheColorHint="@android:color/transparent" 
    android:divider="@drawable/divider" 
    android:listSelector="@drawable/listview_selector_color" > 
</ListView> 

一切都正常工作,但是當我們設置的ListView ID則streatch所有的佈局。所以,請誰能幫我出約this.Thanks

+1

如果你設置列表視圖的android:layout_weight =」 50「,那麼你應該將它的高度設置爲」0px「,這樣它就會設置它是父視圖的%50。 – yahya

回答

0

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="25" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="25" 
    android:orientation="horizontal" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button1" /> 
</LinearLayout> 

<ListView 
    android:id="@+id/relatedContent" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_marginBottom="60dp" 
    android:layout_weight="50" 
    android:cacheColorHint="@android:color/transparent" > 
</ListView> 

+0

同樣的問題先生,我不知道爲什麼會出現這個問題,邏輯上這不應該發生, – Dilip

+0

笏確實伸展? listview或按鈕容器? –

+0

拉伸平均佈局自動無效android:layout_weight。 – Dilip

0

把你list viewlinear layout並給予layout_weight="50"linear layout。然後使listview寬度和高度fill parent

也給linear_layout layout height="0dp"

+0

我用這個,但沒有效果,如果我不使用android:id然後工作,但是當我使用id然後這個問題發生 – Dilip

+0

你有沒有在模擬器或真實設備上測試它? – Renjith

1

你需要如下改變你的xml:

//alter both LinearLayout as 
android:layout_weight="25" 
android:layout_height="0dp" 

//alter ListView as 
android:layout_weight="50" 
android:layout_height="0dp" 
android:isScrollContainer="false" 
+0

同樣的問題我很困惑這個... – Dilip

+0

張貼屏幕截圖 – waqaslam