我试图找出,如何用橙色覆盖Button的标准onClick颜色(黄色)?! ( 在写这个问题时我看过,这些都没有颜色,但是图片 )
有没有简单的方法呢?或者我应该在这种情况下写一个新的风格?
我在GIT中找到了com.android.internal.R.attr.buttonStyle的样子。我想稍微复制和修改那个按钮样式。但是,如果我这样做,我会得到XML-Errors
<?xml version="1.0" encoding="utf-8"?>
<selector>
<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" />
<!-- Modified item -->
<item
android:state_pressed="true"
android:drawable="@drawable/btn_default_selected" />
<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>
好吧,我猜,我必须填充选择器的属性xmlns:android。如果我填写“http://schemas.android.com/apk/res/android”,我会收到其他错误。这一次,因为无法找到android的可绘制资源。
有什么建议吗?!
谢谢,
穆尔
答案 0 :(得分:4)
一个有效的例子。此xml设置为背景可绘制。根据需要调整颜色。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#FFAAAAAA"
android:endColor="#FFAAAAAA"
android:angle = "180" />
<corners
android:radius="10dip" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:startColor="#FF888888"
android:endColor = "#FF888888"
android:angle = "180"/>
<corners
android:radius="10dip" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#FFFFFFFF"
android:endColor = "#FFFFFFFF"
android:angle = "180" />
<corners
android:radius="10dip" />
</shape>
</item>
</selector>
此外,您还可以定义笔触(按钮边框)。
答案 1 :(得分:1)
Mur,您是否已将这些资源(例如btn_default_normal
)复制到drawables文件夹中?你必须得到这些资源(它们可以在你的sdk文件夹中找到platform / android-8 / data / res /然后是不同的可绘制文件夹),然后将它们修改为每个选择器状态所需的样式。