2013-09-29 158 views
0

我想弄清楚如何为android应用程序做这件事情。 所以我做了按钮按钮功能

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

我怎么让这个数组一旦我点击一个按钮,它,例如,把一个不同的颜色? 我有麻烦,因为我可以创建数组,它看起来不错,但我如何为单个按钮分配不同的功能?数组中的按钮是否已被标记,我可以使用单独的按钮吗?谢谢。

+4

'所以我做了你正在查看的数组buttons'任何时候的数组,你应该知道,如果一个AdapterView(即[GridView控件( http://developer.android.com/guide/topics/ui/layout/gridview.html))将是一个更好的选择。几乎总是答案是肯定的。 – FoamyGuy

+0

这不是一个数组按钮数组吗? –

回答

3

任何时候你想作一个视图改变基于用户的行为不同的颜色,你应该使用state list drawable

这里是一个状态列表绘制的一个非常简单的例子,你将只使用触发关闭用户是否已经按下了该视图。

<?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); 
    } 
}); 
+0

哦,傻我忘了所有onClickListeners!太感谢了。 – Bubba