如何在android中设置按钮的状态颜色?

时间:2011-06-01 04:52:10

标签: android button

我想要自定义按钮,

如果用户按下它将显示红色并仍然显示红色,直到用户按下其他按钮

怎么做?感谢。

6 个答案:

答案 0 :(得分:1)

试试这段代码:

      final Button b1 = (Button)findViewById(R.id.btn_1);
  final Button b2 = (Button)findViewById(R.id.btn_2);
      b1.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            b1.setBackgroundColor(Color.RED);
            b2.setBackgroundColor(Color.WHITE);
        }

      });
      b2.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                b2.setBackgroundColor(Color.RED);
                b1.setBackgroundColor(Color.WHITE);
            }

          });

答案 1 :(得分:0)

使用OnClickListeners使用setBackgroundColor()或setBackgroundDrawable()

更改按钮的背景

答案 2 :(得分:0)

您可以使用CheckBox作为按钮,并将背景设置为state list drawable,以测试android:state_checked属性。

答案 3 :(得分:0)

Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);

button1.setOnClickListeners(new OnClickListener() {
  public void onClick(View v) {
    button1.setBackgroundColor(Color.RED);
  }
});


button2.setOnClickListeners(new OnClickListener() {
  public void onClick(View v) {
    button1.setBackgroundColor(Color.WHITE);
  }

});

答案 4 :(得分:0)

以下是您需要另存为.xml文件并放入drawable文件夹的代码。 android:drawable标记指向每个按钮状态的可绘制资源。如果您愿意,可以缩短此列表。 然后,您可以在创建布局时将其用作绘图。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_window_focused="false" android:state_enabled="true"
        android:drawable="@drawable/menu_button_normal" />

    <item android:state_window_focused="false" android:state_enabled="false"
        android:drawable="@drawable/menu_button_normal" />

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

    <item android:state_enabled="true" android:drawable="@drawable/menu_button_normal" />
    <item android:state_enabled="false" android:drawable="@drawable/menu_button_normal"/>
</selector> 

答案 5 :(得分:0)

你想要的是state list。一个快速的谷歌发现了这篇文章:http://blog.androgames.net/40/custom-button-style-and-theme/,它逐步解释了它们。这样你就不需要任何代码了:)