android中的按钮高亮显示

时间:2013-04-04 08:18:19

标签: android button colors

我的应用程序布局文件中的按钮有以下代码

<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" />

默认情况下,按下按钮时,突出显示颜色为蓝色。如何将其更改为我想要的颜色?(我希望它是深红色的)

5 个答案:

答案 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