1

I find there are space between the btnToEmail and btnToDelete, I have set android:layout_marginLeft="0dp".
How can remove space between buttons in RelativeLayout? Thanks! enter image description here

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dip"
        android:layout_marginTop="3dip"
        android:background="#DCDCDC" >

        <Button
            android:id="@+id/btnToEmail"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="@string/export" />

       <Button
            android:id="@+id/btnToDelete"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/btnToEmail"
            android:layout_marginLeft="0dp"
            android:text="@string/delete" />

        <Button
            android:id="@+id/btnSet"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/btnToDelete"
            android:layout_marginLeft="0dp"
            android:text="@string/settings" />

        <Button
            android:id="@+id/btnAbout"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/btnSet"
            android:layout_marginLeft="0dp"
            android:text="@string/about" />

        <Button
            android:id="@+id/btnExit"
            style="@style/myTextAppearance"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="@string/exit" />
    </RelativeLayout>   
4

2 回答 2

3

问题在Button后台。默认背景如下(btn_default.xml平台资源中的文件):

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />
    <item android:state_window_focused="false" android:state_enabled="false"
        android:drawable="@drawable/btn_default_normal_disable" />
    <item android:state_pressed="true" 
        android:drawable="@drawable/btn_default_pressed" />
    <item android:state_focused="true" android:state_enabled="true"
        android:drawable="@drawable/btn_default_selected" />
    <item android:state_enabled="true"
        android:drawable="@drawable/btn_default_normal" />
    <item android:state_focused="true"
        android:drawable="@drawable/btn_default_normal_disable_focused" />
    <item
         android:drawable="@drawable/btn_default_normal_disable" />
</selector>

所有项目都是 9 个补丁,如下所示(例如,上面选择器中的 btn_default_normal.9.png):

btn_default_normal.9.png

如您所见,它包括填充。因此,我建议使用您自己的背景(或修改平台背景并使用9patch 工具删除填充)。

于 2013-07-15T03:24:23.870 回答
1

您可以在边距中给出负值,但不建议这样做。如果您最终要使用 png 而不是按钮,您可以尝试使用 scaleType 参数。(类似于 fitXY)

于 2013-07-15T03:23:18.950 回答