我的应用程序布局文件中的按钮有以下代码
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Start updating" />
默认情况下,按下按钮时,突出显示颜色为蓝色。如何将其更改为我想要的颜色?(我希望它是深红色的)
答案 0 :(得分:18)
按钮的set of states can be configured如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/your_color"
android:state_pressed="true" />
<item android:drawable="@color/your_color"
android:state_focused="true" />
</selector>
您可以将其创建为res / drawables文件夹中的文件,然后在按钮中将其用作背景。假设您调用了该文件&#34; my_button.xml&#34;你可以这样使用它:
<Button
android:background="@drawable/my_button"
或者像这样:
my_button.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_button));
您的颜色可以在res / values文件夹的colors.xml中定义。如果你没有这个文件,你可以创建它(android会识别它)。这是一个很好的做法,但您也可以在上面的代码中用#DC143C替换your_color。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="your_color">#DC143C</color>
</resources>
请注意,此颜色已设置为crimson。
您还可以为背景添加图像,替换&#34; @ color / your_color&#34; by&#34; @ drawable / your_image&#34;。
有关详细信息,您可以在stackoverflow中关注this link。
答案 1 :(得分:6)
在drawable文件夹中创建以下xml文件。并将按钮背景设置为可绘制的。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Image display in background in select state -->
<item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
<!-- Image display in background in select state -->
<item android:drawable="@drawable/button_pressed" android:state_focused="true"/>
<!-- Default state -->
<item android:drawable="@drawable/button"/>
</selector>
答案 2 :(得分:4)
您需要的是选择器,它是一个简单的可绘制文件,您可以根据其状态更改颜色,例如按钮,例如:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:drawable="@color/white"/>
<item
android:state_pressed="true"
android:drawable="@color/white"/>
<item android:drawable="@color/red" />
</selector>
答案 3 :(得分:1)
为了让您找到正确的资源,请参阅StateList Drawable的文档 check this link
您只需在res / drawable子目录中创建并定义它,并将其设置为按钮背景。
答案 4 :(得分:0)
您可以在所有控件上定义颜色,例如
td