2010-04-14 38 views
2

使用多个按钮在Android中创建游戏以显示可绘制文件夹中的图像。我想在单击按钮后将按钮更改为不同的图像。这里是按钮代码:单击后在按钮中更改图像?

<Button android:id="@+id/b36" 
    android:background="@drawable/black" 
    android:layout_width="45px" 
    android:layout_height="45px" 
    /> 

我找不到任何关于如何更改按钮的实际图像。您可以通过使用Java文件下面的代码更改按钮的颜色:

b36.setBackgroundColor(0xAA00AA00); 

回答

1

也许你想使用一个ImageButton。然后你可以调用像button.setImageDrawable()等这样的方法。

3

你必须使用图像视图作为按钮。将图像视图的背景设置为xml文件。在绘制资源时我们可以使用xml文件。检查Api demos可绘制文件夹。该xml文件包含此代码。

<?xml version="1.0" encoding="UTF-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="false" 
    android:drawable="@drawable/button _image_in_normal_state" /> 

<item android:state_pressed="true" 
    android:drawable="@drawable/button _image_in_pressed_state" /> 

</selector> 

并将这些图像文件放在res/drawable文件夹中。你可以实现你想要的?

还指用于改变一次按下的按钮的背景本link

+0

这帮助了我很多,但事实证明,你可以用这个按钮,包括因为它是最看法。您只需将图像背景设置为该资源文件。很好的答案 – mtmurdock 2010-10-01 17:20:06

0

快速例子。

在你活动的OnCreate:

btn_36= (Button) findViewById(R.id.b36); 
    btn_36.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      btn_36.setBackgroundResource(R.drawable.white); 
     } 
    });