Androidでの背景色の削除
私はこのようなコードでbackgroundColor
を設定しました、
View.setBackgroundColor(0xFFFF0000);
一部のイベントでこの背景色を削除するにはどうすればよいですか?
背景色を透明に設定してみてください:
view.setBackgroundColor(0x00000000);
使用できます
View.setBackgroundColor(Color.TRANSPARENT);
または
View.setBackgroundColor(0);
覚えてください 画面に表示されるほとんどすべてがビューを拡張します、ボタン、TextView、ImageView、あらゆる種類のレイアウトなど.
色を透明に設定することに関するすべての回答が機能します技術的に。しかし、これらのアプローチには2つの問題があります。
View.setBackgroundColor(int color)
がどのように機能するかを見ると、かなり簡単な解決策がわかります。
_/**
* Sets the background color for this view.
* @param color the color of the background
*/
@RemotableViewMethod
public void setBackgroundColor(@ColorInt int color) {
if (mBackground instanceof ColorDrawable) {
((ColorDrawable) mBackground.mutate()).setColor(color);
computeOpaqueFlags();
mBackgroundResource = 0;
} else {
setBackground(new ColorDrawable(color));
}
}
_
色int
はColorDrawable
に変換され、setBackground(Drawable drawable)
に渡されます。したがって、背景色を削除する解決策は、次のようにして背景を無効にすることです:
_myView.setBackground(null);
_
View.setBackgroundColor(0);
も機能します。これらのゼロをすべて配置する必要はありません。
いずれかを選択
View.setBackgroundColor(Color.TRANSPARENT);
or
View.setBackgroundColor(0x00000000);