1
ボタンを押したときにImageButtonの画像を変更しようとしています。ここに私のコードは次のとおりです。ImageButtonの変更:新しい画像が元の画像の上にプロットされます
私は私のMainActivity.java
で
<ImageButton
android:id="@+id/my_btn"
app:srcCompat="@drawable/btn_icon1" />
:
int myBtnState = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
myButton = (ImageButton) findViewById(R.id.my_btn);
myButton.setOnClickListener(this);
...
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.my_btn:
changeIcon();
break;
...
private void changeIcon() {
if(myBtnState == 0) {
myButton.setBackgroundResource(R.drawable.btn_icon1);
myBtnState = 1;
} else {
myButton.setBackgroundResource(R.drawable.btn_icon2);
myBtnState = 0;
}
}
私はボタンを押したときに、このコードは、それがどのように見える実行したときに、私が持っている私のactivity_main.xml
で
最初はbtn_icon1
が半透明の背景を持っているので2回上に描画されています。暗く見えます。次回にボタンbtn_icon2
を押すと、btn_icon1
の上に描画されます。私は、このコードを使用してアイコンを変更し、互いに上に描画しないことを期待しました。私はここで間違って何かしていますか?