2

我想在 RUNTIME 更改我的按钮背景

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

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

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

    changeableButton.setBackgroundResource(android.R.drawable.btn_default);
    

    谢谢你的帮助

4

3 回答 3

5

我实际上找到了解决方案

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

Drawable d = button.getBackground();

现在您可以根据需要修改按钮的背景

button.setBackgroundResource(R.drawable.custom_button);

比你可以修改回来

button.setBackgroundDrawable(d);
于 2013-04-03T07:24:10.857 回答
0

这行得通吗? changeableButton.setBackground(null);

于 2013-04-02T14:33:09.197 回答
0

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

button.setBackgroundResource(R.drawable.backround);

您还可以使用 if 语句更改回默认背景,并通过将“背景”资源更改为默认资源来重复上述语句。顺便说一句,感谢 A2A。

于 2018-10-04T13:35:25.447 回答