我正在尝试弄清楚如何为 android 应用程序做这件事。所以我做了一系列按钮
Button btn[][] = new Button[10][10];
我如何做到这一点,以便一旦我单击一个按钮,它就会变成不同的颜色?我在制作它时遇到了麻烦,因为我可以创建数组,而且它看起来不错,但是如何为各个按钮分配不同的功能呢?阵列中的按钮是否已经标记,我可以使用单个按钮吗?谢谢。
任何时候你想让视图根据用户操作改变不同的颜色,你应该使用可绘制的状态列表
这是一个非常简单的状态列表可绘制示例,您可以使用它来触发用户是否按下了视图。
<?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);
}
});