Android Button在RelativeLayout中没有填满空间

时间:2016-02-03 19:59:12

标签: android button relativelayout

我正在尝试创建一个与页面底部对齐的按钮。我想让它从左,右和底填充100%的空间。无论我选择什么属性,仍然有非常小的非覆盖区域。你能帮忙吗?

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    tools:context="com.example.myapplication.MainActivity">

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:layout_margin="0dp"
        android:padding="0dp"
        android:text="search"

        />
</RelativeLayout>

Here is the screenshot, showing not filled areas

2 个答案:

答案 0 :(得分:1)

您看到的空间是其背景中的按钮周围的阴影可绘制。你需要创建自己的背景drawable,然后它应该完全占据宽度。

或者,您也可以将背景设置为null。

android:background="@null"

答案 1 :(得分:1)

<hook type="after_build" src="scripts/aboveCodeblock.js"/> 文件夹中创建一个文件,例如drawable

simple_selector.xml

现在只需将背景设置为上面创建的drawable。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="false">
        <shape android:shape="rectangle">
            <!-- Normal color -->
            <solid android:color="@android:color/white" />
        </shape>
    </item>

    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <!-- Color - when the view is pressed -->
            <solid android:color="@android:color/black"/>
        </shape>
    </item>
</selector>

以上代码可以更改按钮的<Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:background="@drawable/simple_selector" android:text="search" /> normal状态的颜色。您可以根据需要更改颜色。