我刚刚在 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/