更改所有按钮的背景

时间:2012-07-26 13:29:23

标签: android android-button

我想更改Buttons中所有View的背景。

android:background="@drawable/button_red"

我想在OnClick()事件中这样做。

android:onClick="ChangeCouleur"

我想在foreach循环中执行此操作,但我不确定如何执行此操作。

例如:

for( b in ... )
    if (b.getid()!=idofthebutton)
         b.setbackgroud(button_red)

感谢您的帮助!

5 个答案:

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

这将清除你的想法。 :)