android更改按钮颜色在点击时转动按钮橙色...为什么?

时间:2015-02-19 23:18:36

标签: java android button colors

我有一些按钮,我想在点击时更改背景颜色。作为测验应用程序,如果单击错误的应用程序,它们将变为红色;如果单击了正确的应用程序,则为绿色。我还想在切换问题时将按钮重置为默认值,以重复选择答案的过程。

我的问题是我去实施时:

buttonOne.setBackgroundResource(android.R.drawable.btn_default);
buttonTwo.setBackgroundResource(android.R.drawable.btn_default);
buttonThree.setBackgroundResource(android.R.drawable.btn_default);
buttonFour.setBackgroundResource(android.R.drawable.btn_default);

应该将按钮重置为默认值(对吗?)。现在,当我点击按钮并按住它们时,背景是橙色的,我不知道为什么。有谁知道这是为什么?

我没有将任何东西设置为橙色,所以它看起来很随机。

3 个答案:

答案 0 :(得分:1)

您使用的资源可能是一组具有"活动"的抽屉。一套,像这样:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/bar_bottom_home_active" android:state_pressed="true"/>
    <item android:drawable="@drawable/bar_bottom_home"/>

</selector>

当您按住按钮时,这将解释不同的颜色。

答案 1 :(得分:0)

尝试这样说:

buttonOne.setBackgroundColor(YOUR_COLOR_HERE);

在颜色中,首选将其添加到颜色的xml文件中并引用它

答案 2 :(得分:0)

首先,您需要创建一个xml文件。例如:

  • 在res-&gt; values
  • 中创建colors.xml
  • 将颜色代码放入此xml
<color name="orange">#FF9900</color>
<color name="green">#009900</color>
<color name="blue">#000099</color>
<color name="red">#bf360c</color>

  • 现在,您可以使用颜色。

    buttonOne.setBackgroundColor(getResources().getColor(R.color.green));