colorButtonNormal不会填充整个按钮

时间:2016-02-13 22:31:27

标签: android button material-design

我在styles.xml中设置了colorButtonNormal,如下所示:

<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="colorButtonNormal">#33cc33</item>
</style>

但是,此属性的背景不会填充按钮的整个空间。

我有两个按钮。一个使用colorButtonNormal,另一个使用android:background:

将背景设置为相同的颜色
       <Button
            android:id="@+id/afs_login_button"
            android:layout_width="fill_parent"
            android:layout_height="55dp"
            android:layout_marginBottom="10dp"
            android:textAllCaps="false"
            android:text="Button"
            android:textColor="#FFF" />

        <Button
            android:layout_width="fill_parent"
            android:layout_height="55dp"
            android:background="#33cc33"
            android:id="@+id/guest_login"
            android:text="Button"
            android:textColor="#FFF" />

以下是Android Studio预览窗格中的结果:

enter image description here

如您所见,蓝色轮廓是按钮,绿色背景不会占据整个空间。但是,如果我专门设置android:background,它就会填满整个空间。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

与默认按钮一起使用的背景可绘制是填充的。点击区域大于实际(可见)按钮大小,这是您在ui检查器中看到的。

将颜色设置为背景只需填充按钮的整个边界,使按钮看起来更大。点击区域仍然相同。这是因为颜色会转换为ColorDrawable

您可以使用tint更改可绘制的颜色 - 这可以让您更改颜色,但保留按钮样式。