2013-03-25 145 views
1

我在构建Android按钮栏样式时遇到了一些问题。给我的每个按钮赋予0的宽度和1的权重后,两个按钮之间仍有大约1px的间隙(请参见图片)。Android按钮栏 - buttonBarButtonStyle在按钮之间留下间隙

什么是摆脱这种差距的最佳途径?为什么它在那里开始呢?

<LinearLayout 
    android:id="@+id/button_bar" 
    style="?android:attr/buttonBarStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignRight="@+id/details_scroll_view" 
    android:paddin="0dp" > 

    <Button 
     android:id="@+id/button1" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_dark_blue" 
     android:text="button1" 
     android:textColor="@color/text_color" /> 

    <Button 
     android:id="@+id/button2" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_light_blue" 
     android:text="button2" 
     android:textColor="@color/text_color" /> 
</LinearLayout> 

[按钮栏] [1] http://i.stack.imgur.com/9Kwf4.png

+0

退房http://developer.android.com/samples/BorderlessButtons/res/layout/sample_main.html#l71也 – 2015-01-20 12:25:15

回答

0

如果您使用的RelativeLayout代替LinearLayout那么你可以使用像

<Button 
     android:id="@+id/button2" 
     style="?android:attr/buttonBarButtonStyle" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/button_light_blue" 
     android:text="button2" 
     android:textColor="@color/text_color" 
     android:layout_toRightOf="@+id/button1" /> //this will put the left edge of this button at the right edge of button1 
+0

我仍然希望保持按钮的权重相等,宽度相等。 layout_weight为1的宽度为0dp的居中函数似乎只适用于线性布局。相对布局确实可以消除间隙... – 2013-03-25 01:33:27

+0

您仍然可以保持居中和相同的大小。 – codeMagic 2013-03-25 02:07:57

0

这将只改变按钮的大小。您需要使用layout_margin属性,像这样:

android:layout_marginLeft=<insert value here> 
+0

很hackish,但它看起来像下面的作品:'android:layout_marginLeft =“ - 1dp” ' – 2013-03-25 01:44:21

0

你所看到的空间实际上是一个分频器。 要隐藏的分隔,只需添加

android:showDividers="none" 

LinearLayout

相关问题