0

我正在尝试弄清楚如何为 android 应用程序做这件事。所以我做了一系列按钮

Button btn[][] = new Button[10][10];

我如何做到这一点,以便一旦我单击一个按钮,它就会变成不同的颜色?我在制作它时遇到了麻烦,因为我可以创建数组,而且它看起来不错,但是如何为各个按钮分配不同的功能呢?阵列中的按钮是否已经标记,我可以使用单个按钮吗?谢谢。

4

1 回答 1

3

任何时候你想让视图根据用户操作改变不同的颜色,你应该使用可绘制的状态列表

这是一个非常简单的状态列表可绘制示例,您可以使用它来触发用户是否按下了视图。

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="false" android:color="@color/brown" />
        <item android:state_pressed="true" android:color="@color/brown_selected" />
</selector>

然后,您将在具有以下属性的视图上将其设置为 xml 中的视图

android:background="@drawable/background"

不过,这只会在用户按下按钮时更改。如果您希望它永久更改颜色,请使用on click listener。例如,如果您想将背景颜色更改为白色:

button.setOnClickListener(new View.OnClickListener() {
    /**
     * Handle a user clicking on the view v
     * @param v the view the user clicked on. In this case the button
     */
    @Override public void onClick(View v) {
        // Set the background color to white
        v.setBackgroundColor(Color.WHITE);
    }
});
于 2013-09-29T05:52:39.870 回答