我在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预览窗格中的结果:
如您所见,蓝色轮廓是按钮,绿色背景不会占据整个空间。但是,如果我专门设置android:background,它就会填满整个空间。有什么想法吗?
答案 0 :(得分:0)
与默认按钮一起使用的背景可绘制是填充的。点击区域大于实际(可见)按钮大小,这是您在ui检查器中看到的。
将颜色设置为背景只需填充按钮的整个边界,使按钮看起来更大。点击区域仍然相同。这是因为颜色会转换为ColorDrawable
。
您可以使用tint
更改可绘制的颜色 - 这可以让您更改颜色,但保留按钮样式。