我试图让我的按钮在按下时改变文本的颜色,但我遇到了一个我无法解决的问题.我收到一条错误,说"无法解析颜色值"然后它给了我文件的路径.这是我正在使用的文件
这个位于资源及其名为button的名为color的新文件夹中
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#ffff0000" />
<item android:state_focused="true" android:color="#ff0000ff" />
<item android:color="#ff000000" />
</selector>
Run Code Online (Sandbox Code Playgroud)
和
<Button android:text="Main Menu" android:textColor="@color/button"
android:layout_width="200px" android:id="@+id/mainmenu"
android:layout_height="55px" android:layout_x="5dip"
android:layout_y="174dip"
android:textSize="18px">
</Button>
Run Code Online (Sandbox Code Playgroud)
如果有人能帮助我,它会让我发疯
我成功地做到了这样:
文件:
/drawable/button_states.xml
/layout/main.xml
/values/colors.xml
Run Code Online (Sandbox Code Playgroud)
button_states.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/red" /> <!-- pressed -->
<item android:state_focused="true"
android:color="@color/blue_background" /> <!-- focused -->
<item android:color="@color/white" /> <!-- default -->
</selector>
Run Code Online (Sandbox Code Playgroud)
colors.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="blue_background">#FF2f74c3</color>
<color name="white">#fefefe</color>
<color name="red">#ff0000</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:layout_height="wrap_content"
android:text="Button"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:textColor="@drawable/button_states" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)