2014-09-12 67 views
0

我有一個表格佈局來顯示我的導航欄的按鈕,並且尺寸相同。爲此,我使用android:layout_weight,但我想在導航欄的按鈕之間插入一條花式垂直線(as you can see here for example between "messages" and "video call")我試過幾種方法,沒有成功,最後一個在按鈕上使用marginRight,但它似乎不適用於android:layout_weight。使用layout_weight導航按鈕之間的垂直線

這是我TableLayout

<TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:stretchColumns="1" 
    android:layout_alignParentBottom="true" 
    android:background="#c0c0c0"> 
    <TableRow> 
     <Button 
     android:id="@+id/picture" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:padding="0dip" 
     android:layout_margin="0dip" 

     android:layout_weight="1" 
     android:text="Picture" 
     android:background="@drawable/nav_button" 
     style="@style/nav_button" /> 

     <Button 
     android:id="@+id/friends" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_margin="0dip" 

     android:layout_weight="1" 
     android:padding="0dip" 
     android:text="Friends" 
     android:background="@drawable/nav_button" 
     style="@style/nav_button" /> 
    </TableRow> 

</TableLayout> 

回答

3

其實我不知道爲什麼你使用的是TableLayout,但我想這不是一個因爲你在談論NavBar/ActionBar。所以我建議你使用LinearLayout來代替你的兩個按鈕之間的垂直分隔符。
下面是它如何工作:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:divider="?android:attr/dividerVertical" 
    android:dividerPadding="12dp" 
    android:orientation="horizontal" 
    android:showDividers="middle"> 

    <Button 
     android:id="@+id/picture" 
     style="@style/nav_button" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_margin="0dip" 
     android:layout_weight="1" 
     android:background="@drawable/nav_button" 
     android:padding="0dip" 
     android:text="Picture" /> 

    <Button 
     android:id="@+id/friends" 
     style="@style/nav_button" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_margin="0dip" 
     android:layout_weight="1" 
     android:background="@drawable/nav_button" 
     android:padding="0dip" 
     android:text="Friends" /> 
</LinearLayout> 

注:相關部分是android:dividerandroid:showDividers。這些是在Android 3.0(API-Level 10)中添加的屬性。你可以在Docs (click)中閱讀更多關於它的信息。

0

按鈕標記之間插入一個視圖

<View 
     android:id="@+id/divider" 
     android:layout_gravity="center" 
     android:background="@android:color/white" 
     android:layout_width="1dp" 
     android:layout_marginTop="2dp" 
     android:layout_marginBottom="2dp" 
     android:layout_height="match_parent" /> 
+0

不,它不適用於每個按鈕的'android:layout_weight =「1」'。我可以給你的觀點一個重量,但它不會一直是1dp。 – deKajoo 2014-09-12 16:51:56

+0

嘗試添加沒有重量的視圖,只需將相同的權重添加到2個按鈕,這對我來說是線性佈局。 – k1slay 2014-09-12 16:54:01