2013-05-18 54 views
0

我試圖用ActionBarSherlock實現自定義標題欄。標題欄左右兩邊應該有兩個按鈕,中間有一個文本視圖。 textview應該佔據兩個按鈕之間的空間。ActionBarSherlock與自定義標題欄 - 重量分配沒有工作

我試過設置layout_weight,但由於某種原因它根本沒有任何效果。

這是自定義佈局我在res /佈局

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

<Button 
    android:id="@+id/btn_left" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:text="Left" /> 

<TextView 
    android:id="@+id/header" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:layout_weight="4" 
    android:text="Header Text" /> 

<Button 
    android:id="@+id/btn_right" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:text="Right" /> 

</LinearLayout> 

現在所有的元素只是浮到左邊,我不知道爲什麼,我究竟做錯了什麼?

回答

0

而不是使用LinerLayout嘗試使用RelativeLayout。

編輯:製造中心文本視圖STRECH到按鈕(請務必留下的TextView match_parent ..

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

    <Button android:id="@+id/leftButton" 
      android:layout_alignParentLeft="true".... 

    <TextView android:layout_centerHorizontal="true" 
       android:layout_toLeftOf="@id/rightButton" 
       android:layout_toRightOf="@id/leftButton" .... 

    <Button android:id="@+id/rightButton" 
      android:layout_alignParentRight="true".... 


</RelativeLayout> 
+0

使用RelativeLayout的我真的不想要的外觀有了這個解決方案,我必須做出TextView的寬度。 wrap_content,否則它會填充整個空間,左邊的按鈕被隱藏,我需要它來填充按鈕之間的整個區域。除了需要解決方案,我很好奇爲什麼重量不能正常工作,任何想法? –

+0

只需將TextView正確對齊按鈕,你應該沒問題。讓我編輯這個問題,我會告訴你.. –

+0

謝謝!它的工作原理,但它需要是 toLef tOf =「@ id/rightButton」 toRightOf =「@ id/leftButton」。 –