在android中运行时更改按钮背景

在android中运行时更改按钮背景,android,android-button,Android,Android Button,我想在运行时更改我的按钮背景 我知道如何为按钮添加自定义背景,但是 如何将其更改为无边框按钮样式? 在xml中,我使用了: style="?android:attr/borderlessButtonStyle") 如何切换回默认背景?以下不是我想要的(显然,它不是Jelly Bean中使用的默认值) 谢谢你的帮助 这有用吗? changeableButton.setBackground(空)我实际上找到了一个解决方案 可以将按钮的初始背景保存在可绘制对象中 Drawable d = but

我想在运行时更改我的按钮背景

我知道如何为按钮添加自定义背景,但是

  • 如何将其更改为无边框按钮样式? 在xml中,我使用了:

    style="?android:attr/borderlessButtonStyle")
    
  • 如何切换回默认背景?以下不是我想要的(显然,它不是Jelly Bean中使用的默认值)

    谢谢你的帮助

这有用吗?
changeableButton.setBackground(空)

我实际上找到了一个解决方案

可以将按钮的初始背景保存在可绘制对象中

Drawable d = button.getBackground();
现在,您可以根据需要修改按钮的背景

button.setBackgroundResource(R.drawable.custom_button);
然后你可以修改回来

button.setBackgroundDrawable(d);

这个问题有一个简单的答案:

button.setBackgroundResource(R.drawable.backround);
您还可以通过使用if语句并通过将“backround”资源更改为默认资源重复上述语句来更改回默认backround。
顺便说一句,谢谢A2A。

是的,我已经这么想了,我不能先测试它。那么
bt.setBackgroundResource(0)呢?还是没有背景吗?我在谷歌上搜索了一下,恐怕这是不可能的,您实际上想做的是删除XML中应用的以前的样式。无法以编程方式应用样式。。请参阅:
通常不能以编程方式更改样式;您可以使用主题或样式在XML布局中设置屏幕、布局的一部分或单个按钮的外观。但是,可以通过编程方式应用主题。
Ok,那么默认背景呢?我只是找到了默认背景的解决方案:Drawable d=b.getBackground();比你能做到这一点b.挫折感(d);伟大的它是什么?对不起,我帮不了你
button.setBackgroundResource(R.drawable.backround);