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

时间:2013-04-02 14:23:18

标签: android android-button

我想在RUNTIME

更改我的按钮背景

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

  • 如何将其更改为borderlessButtonStyle? 在xml中很容易,我用过:

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

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

    感谢您的帮助

4 个答案:

答案 0 :(得分:5)

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

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

Drawable d = button.getBackground();

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

button.setBackgroundResource(R.drawable.custom_button);

比你可以修改它

button.setBackgroundDrawable(d);

答案 1 :(得分:0)

这有用吗? changeableButton.setBackground(null);

答案 2 :(得分:0)

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

虽然此链接更多地处理了listView条目的渐变状态和悬停效果,但它也可用于在运行时更改按钮背景颜色和效果。

答案 3 :(得分:0)

对此问题有一个简单的答案:

Unchanged

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