【问题标题】:Changing Image In a Button After Being Clicked?单击后更改按钮中的图像?
【发布时间】:2010-04-14 04:50:35
【问题描述】:

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

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

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

b36.setBackgroundColor(0xAA00AA00);

【问题讨论】:

    标签: xml android button


    【解决方案1】:

    您必须使用图像视图作为按钮。将图像视图的背景设置为 xml 文件。在资源drawable中我们可以使用xml文件。检查 Api 演示可绘制文件夹。该 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

    【讨论】:

    • 这对我有很大帮助,但事实证明,您可以将它用于大多数视图,包括 Button 原样。您只需将图像背景设置为此资源文件。很好的答案
    【解决方案2】:

    也许您想使用ImageButton。然后你可以调用button.setImageDrawable()之类的方法。

    【讨论】:

      【解决方案3】:

      按下按钮后更改背景的快速示例。

      在您的活动的 oncreate 中:

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

      【讨论】:

        猜你喜欢
        • 2016-03-13
        • 2017-01-21
        • 1970-01-01
        • 1970-01-01
        • 2011-12-14
        • 2019-01-31
        • 2015-05-09
        • 2013-11-05
        相关资源
        最近更新 更多