我刚刚在drawable
文件夹下添加了一个新的res
文件夹。在drawable
文件夹中,我从ic_launcher.png
文件夹复制了drawable-hdpi
文件。
当我按下按钮时,我想通过新的标准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对象
谢谢。
关于android - Android Imagebutton更改Image OnClick,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12249495/