我正在自定义按钮样式
<style name="custom_button" parent="@android:style/Widget.Button">
<item name="android:paddingTop">5dp</item>
<item name="android:paddingBottom">5dp</item>
<item name="android:textAllCaps">false</item>
<item name="colorButtonNormal">#f37022</item>
<item name="android:textColor">#ffffff</item>
</style>
使用
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Prepaid Package"
style="@style/custom_button"/>`
但colorButtonNormal
上的颜色显示在On press
状态。
现在该怎么办?
答案 0 :(得分:2)
我从这里开始举例。
如果您想根据按钮的状态自定义背景:
在res / drawable /
中创建一个xml文件,例如button_custom.xml<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/button_focused"
android:state_focused="true" />
<item android:drawable="@drawable/button_default" />
</selector>
然后对于实际按钮,添加:您可以将默认值与自定义背景合并。
<Button
...
android:background="@drawable/button_custom" />
同样在您的样式中,要修复自定义按钮样式的背景颜色:
<item name="android:background">#f37022</item>
"colorButtonNormal"
不是按钮的属性,您需要使用内置属性,就像其他项目一样。