如何摆脱button和其他视图之间的额外差距?

当我创buildbutton视图时,Android总是在该button和其下的其他视图之间创build一些额外的空间。

在下面的例子中,第二个button上方有一个button。 你可以看到这两个button之间的差距。 我怎样才能摆脱这种差距? 谢谢。

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/up" android:layout_width="fill_parent" android:layout_height="28dip" android:textSize="9sp" android:gravity="center" android:text="Hide sth" android:layout_marginBottom="0" android:paddingBottom="0" /> <Button android:id="@+id/down" android:layout_width="fill_parent" android:layout_height="28dip" android:textSize="9sp" android:gravity="center" android:text="Show sth" /> </LinearLayout> 

Solutions Collecting From Web of "如何摆脱button和其他视图之间的额外差距?"

创build您自己的button背景九个补丁PNG,消除空间。 您可以在SDK中find现有的背景文件。

CommonsWare几乎指出你在正确的方向,但这里是一个示例布局示例。 只需将android:background =“COLOR”replace为9 patch png的引用即可

 < ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> 

< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">

 <Button android:id="@+id/btn1" android:text="btn1" android:padding="0dip" android:layout_margin="0dip" android:layout_width="fill_parent" android:layout_height="40dip" android:background="#FFF" /> <Button android:id="@+id/btn2" android:text="btn2" android:padding="0dip" android:layout_margin="0dip" android:layout_width="fill_parent" android:layout_height="40dip" android:background="#FF0000" /> 

</LinearLayout>

希望有所帮助!

我只是想出了最简单的方法。 我们必须简单地添加背景到Button ,它会自动减less空间。 注意示例

 <Button android:id="@+id/button1" android:text="Button 1" android:layout_width="match_parent" android:layout_height="100dp" android:background="#000000" /> <Button android:id="@+id/button2" android:text="Button 2" android:layout_width="match_parent" android:layout_height="100dp" android:background="#000000" /> 

显然我们必须用边界线来分割Button 。 有几种方法。

1. android:layout_marginTop="1dp"到第二个Button 。 一小块背景将分开它。

2.添加Button style

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#000000" android:angle="270" /> <corners android:radius="3dp" /> <stroke android:width="1px" android:color="#FFFFFF" /> </shape> 

并将其设置为:

 android:background="@drawable/your_button_border" 

3.添加具有不同颜色背景的View并将其放置在Button之间。

 <View android:layout_width="match_parent" android:layout_height="2dp" android:background="#AAA" /> 

只要select你最方便的方式。