如何将按钮的背景颜色重置为默认值?

coo*_*994 47 android

我读了几篇文章,但没有一篇文章有​​工作解决方案.

一旦你这样做了

button.setBackgroundColor(0x00000000);
Run Code Online (Sandbox Code Playgroud)

如何将按钮的背景颜色恢复为默认颜色?

Sea*_*ean 68

使用:

btn.setBackgroundResource(android.R.drawable.btn_default);
Run Code Online (Sandbox Code Playgroud)

  • 这不适用于Lollipop材质按钮 (5认同)
  • 这会将我的按钮重置为Android 2.3版本,如何将其重置为Android版本默认? (4认同)
  • button.setBackgroundColor(00000000); button.setBackgroundColor(android.R.drawable.btn_default); 这不会将颜色改回正常颜色 (3认同)

Ivo*_*Ivo 17

如果使用设置背景颜色

btn.getBackground().setColorFilter(Color.RED, PorterDuff.Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)

可以使用以下方法重置:

btn.getBackground().clearColorFilter();
Run Code Online (Sandbox Code Playgroud)

button.setBackgroundColor()设置颜色相反,这样可以保留按钮的形状.


Sah*_*del 6

没有人提到TRANSPARENT 像这样使用它

findViewById(R.id.button_id).setBackgroundColor(Color.TRANSPARENT);
Run Code Online (Sandbox Code Playgroud)

晚点再谢我


Omi*_*ast 5

这对我来说效果更好:

Button defbtn=new Button(this);
btn.setBackground(defbtn.getBackground());
Run Code Online (Sandbox Code Playgroud)