我想要自定义按钮,
如果用户按下它将显示红色并仍然显示红色,直到用户按下其他按钮
怎么做?感谢。
答案 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/,它逐步解释了它们。这样你就不需要任何代码了:)