2012-02-13 115 views
2

我设置一个图像作为按钮的背景资源,在按钮点击我想删除图像并恢复默认按钮样式。如何删除按钮背景资源

我尝试setBackgroundResource(0),但按钮消失。

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_settings); 
    Button btn = (Button) findViewById(R.id.btnTest); 
    btn.setOnClickListener(onClickListenerTest); 
    btn.setBackgroundResource(R.drawable.ic01); 
} 

private OnClickListener onClickListenerTest = new OnClickListener() { 
    public void onClick(final View v) {  
     Button btn = (Button) findViewById(R.id.btnTest); 
     btn.setBackgroundResource(0); 
    } 
}; 
+0

您是否在寻找它有默认的Android按钮样式或你做了一些自定义为activity_settings.xml背景,你想回到那个? – 2012-02-14 00:15:30

+0

在我的应用程序中,用户可以配置按钮方面,他可以添加一个图标作为背景,但他也必须有可能删除图标。 Sam_D解决方案完美工作。 – crbin1 2012-02-14 08:50:35

回答

3

试试这个:

btn.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.btn_default)); 
+0

它的作品!谢谢 – crbin1 2012-02-14 08:49:17

+0

此方法现在已弃用; 2015年的做法是什么? – EMBLEM 2015-02-28 05:47:52

+0

this_button.setBackgroundResource(android.R.drawable.btn_default); 2015年 – 2015-07-02 04:42:03

1

我用:

btn.setBackgroundDrawable(null); 

也重新设置相关的资源ID。

-1

对于Android的更新版本,使用

button.setBackground(null);