Android Imagebutton 改变 Image OnClick

标签 android image imagebutton

我刚刚在 res 文件夹下添加了一个新的 drawable 文件夹。在 drawable 文件夹中,我从 drawable-hdpi 文件夹中复制了 ic_launcher.png 文件。 当我按下按钮时,我想通过新的图像更改标准的 ImageButton 图像。我写了一些代码,但是当我启动应用程序时,它崩溃了。

Button imgButton; 

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.imgButton).setOnClickListener(imgButtonHandler);      
}

View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {

        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};

编辑:我改成了这个,这也行不通。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    imgButton = (Button) findViewById(R.id.imgButton);
    imgButton.setOnClickListener(imgButtonHandler);
}


View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {
        imgButton.setBackgroundResource(R.drawable.ic_launcher);

    }
};

编辑 2:这行得通。谢谢大家。

ImageButton button;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button= (ImageButton)findViewById(R.id.imgButton);
    button.setOnClickListener(imgButtonHandler);
}


View.OnClickListener imgButtonHandler = new View.OnClickListener() {

    public void onClick(View v) {
        button.setBackgroundResource(R.drawable.ic_launcher);

    }
};

最佳答案

这有点误导我 - 它应该是 setImageResource 而不是 setBackgroundResource :) !!

以下工作正常:

ImageButton btn = (ImageButton)findViewById(R.id.imageButton1);       
 btn.setImageResource(R.drawable.actions_record);

当使用 setBackgroundResource 时实际 imagebutton 的图像 在更改背景图像时停留,这会导致外观丑陋的 imageButton 对象

谢谢。

关于Android Imagebutton 改变 Image OnClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12249495/

相关文章:

android - 如何布局 View 右对齐和 LinearLayout 的底部

android - 将 onclick 方法更改为带有动画的大小

Java从jar中获取打包文件

android - 图像不适合圆形 ImageView

android - 如何获取图片资源

android - 如何在 Android 中实现字符串阴影跨度?

android react-native在谷歌审批过程中避免 "Background location access not declared"

javascript - 如何在 IE 以外的浏览器中使用 JavaScript 旋转图像/div

html - 我怎样才能使我的马赛克中的图片成为各自 div 的 100%?

javascript - 如何在 jquery 中引用 ImageButton?