我想更改Buttons
中所有View
的背景。
android:background="@drawable/button_red"
我想在OnClick()
事件中这样做。
android:onClick="ChangeCouleur"
我想在foreach
循环中执行此操作,但我不确定如何执行此操作。
例如:
for( b in ... )
if (b.getid()!=idofthebutton)
b.setbackgroud(button_red)
感谢您的帮助!
答案 0 :(得分:4)
将所有Buttons
放入Array
Buttons
,然后循环播放以更改背景。
Button button1 = (Button)this.findViewById(...);
Button button2 = (Button)this.findViewById(...);
Button button3 = (Button)this.findViewById(...);
Button[] buttons={button1, button2, button3};
for (Button currentButton : buttons) {
currentButton.setBackgroundResource(R.drawable.my_new_background);
}
答案 1 :(得分:1)
用于更改单击按钮的背景
public void changeColor(View v) {
v.setBackground(btn_red);
}
答案 2 :(得分:1)
您可以做的一件事是子类Button
,然后在新类的应用实例中创建所有按钮。这样,如果您决定要调整颜色或更改其他内容,则只需执行一次,它将更改应用中的所有按钮。 Here's a question应该给你一些关于如何做到这一点的指示。
答案 3 :(得分:1)
您必须获得所有按钮的引用。将它们添加到ArrayList或类似的东西。在ChangeCouleur方法中,使用循环迭代所有按钮,改变每个按钮的颜色。
答案 4 :(得分:1)
在“res / drawable /”中创建.XML文件并在其中使用selector属性。并为按钮使用不同的图像。请参阅此链接。
http://www.mkyong.com/android/android-imagebutton-selector-example/
这将清除你的想法。 :)