1

我想改变所有的Buttons背景View

android:background="@drawable/button_red"

我想在OnClick()活动中这样做。

android:onClick="ChangeCouleur"

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

例如:

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

谢谢你的帮助!

4

5 回答 5

4

把你所有的都Buttons放在一个ArrayButtons,然后循环到它改变背景。

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);
}
于 2012-07-26T13:37:25.347 回答
1

用于更改单击按钮的背景

public void changeColor(View v) {
    v.setBackground(btn_red);
}
于 2012-07-26T13:34:02.960 回答
1

您可以做的一件事是 subclass Button,然后在您的应用程序实例中创建新类的所有按钮。这样,如果您决定要调整颜色或更改其他内容,您只需执行一次,它将更改应用程序中的所有按钮。这是一个问题,应该给你一些关于如何做到这一点的指示。

于 2012-07-26T13:34:53.017 回答
1

您将必须获得对所有按钮的引用。将它们添加到 ArrayList 或类似的东西。在您的 ChangeCouleur 方法中,使用循环遍历所有更改每个按钮颜色的按钮。

于 2012-07-26T13:38:10.743 回答
1

在“res/drawable/”中创建 .XML 文件并在其中使用选择器属性。并为按钮使用不同的图像。请参考此链接。

http://www.mkyong.com/android/android-imagebutton-selector-example/

这将清除您的想法。:)

于 2012-07-26T13:48:27.387 回答