9

透明な ImageButton があります。クリックすると、ボタンの ImageResource が drawable-hdpi フォルダーのドローアブルに設定されます (基本的に、透明な ImageButton の上に画像が表示されます)。ImageButton.setImageResource()そのためにメソッドを使っています。私の質問は、画像リソースを削除して、透明な画像ボタンだけが再び表示されるようにするにはどうすればよいかということです。もちろん、XML ではなく Java でこれを行う必要があります。私は次のことを試しましたが、うまくいきませんでした:ImageButton.setImageResource(null); 私も少し見回しましたが、答えが見つかりませんでした...助けてくれてありがとう。

編集:あなたの答えをありがとう..ピーター・ヴァルガの答えはまさに私が必要としていたことだったので、それが私が行っていることです。

4

4 に答える 4

37

設定してみてくださいimageButton.setImageResource(android.R.color.transparent)

于 2012-08-06T20:22:26.030 に答える
15
imageButton.setBackgroundResource(0);

ドキュメントは次のように述べています。

背景を削除するには、リソースは Drawable オブジェクトまたは 0 を参照する必要があります

于 2013-05-29T16:43:54.863 に答える
1

通常、ユーザーはドローアブル フォルダーに null_image.xml リソース ファイルを作成し、背景をクリアする必要があるときはいつでもこのリソースを使用します。

null_image.xml コンテンツ:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android">
    <solid
        android:color="#0000" />
    <size
        android:width="1dp"
        android:height="1dp" />
</shape>

バックグラウンドをクリアする必要がある場合は、次のように呼び出します。

ImageButton.setImageDrawable(R.drawable.null_image);

CSimthがコメントを回答として投稿しなかった理由がわかりません...私にとっては正しかったです

于 2012-08-06T20:24:12.490 に答える
0

ImageButtonうまくいくかどうかはわかりませんが、ドローアブルをリサイクルできると思います。

次のようなものを試してください:

ImageButton imbBtn = (ImageButton) findBiewById(R.id.imbBtn);

imgBtn.getDrawable().recycle();

私はこれまでこれを試したことがありません、それがあなたにうまくいくかどうか私に知らせてください。

于 2012-08-06T20:31:40.997 に答える