我正在尝试非常简单地设计一个Button
。我只想在未按下时将其显示为带有文本的蓝色,而在单击时将其设置为带有蓝色文本的白色。
我尝试使用样式和选择器来做到这一点。
在我的布局中我有这个Button
:
<Button
android:id="@+id/button1"
style="@style/MyButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/login" />
And in res/values/styles
我有这个styles.xml
:
<style name="MyButton">
<item name="android:background">@drawable/btn_background</item>
<item name="android:textColor">@drawable/btn_textcolor</item>
</style>
当然,两个选择器,在res/drawable
, btn_background.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="@color/white" />
<item android:color="@color/SapphireBlue" />
</selector>
and btn_textcolor.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="@color/SapphireBlue" />
<item android:color="@color/white" />
</selector>
当我运行应用程序或打开布局编辑器时出现的错误是:
- 标签需要 'drawable' 属性
我明白这条消息,但我不明白have一个drawable,它是一个简单的、扁平的按钮。
如何创建这样一个简单的按钮?
Update根据这个帖子 https://stackoverflow.com/questions/4692642/android-customized-button-changing-text-color,它应该可以工作。