Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何获取按钮';是否将后台恢复为默认设置(以编程方式)?_Android_Button - Fatal编程技术网

Android 如何获取按钮';是否将后台恢复为默认设置(以编程方式)?

Android 如何获取按钮';是否将后台恢复为默认设置(以编程方式)?,android,button,Android,Button,所以我设置了一个按钮的背景,这样做: b.setBackgroundResource(R.drawable.custom_button1); 如何以编程方式将其设置回默认的(无聊的灰色)Android按钮?是否有一个R.android.u灰色的资源标识符,我可以引用而不用自己重新创建这些状态?好像找不到。也许我的谷歌搜索技能让我失望了 哦,顺便说一下,我试过这个: b.setBackgroundResource(0); 按钮实际上消失了(与黑色背景混合?)你试过这个吗 android.

所以我设置了一个按钮的背景,这样做:

b.setBackgroundResource(R.drawable.custom_button1);
如何以编程方式将其设置回默认的(无聊的灰色)Android按钮?是否有一个R.android.u灰色的资源标识符,我可以引用而不用自己重新创建这些状态?好像找不到。也许我的谷歌搜索技能让我失望了

哦,顺便说一下,我试过这个:

   b.setBackgroundResource(0);
按钮实际上消失了(与黑色背景混合?)

你试过这个吗

android.R.drawable.btn_default;

首先获取
按钮b的默认背景使用

Drawable d = b.getBackground();
然后设置另一个您选择的背景

b.setBackgroundResource(R.drawable.custom_button1);
如果您再次需要默认背景,请使用此选项

b.setBackgroundDrawable(d);
试一试

它将设置按钮的默认背景。 您可以从给定的链接中阅读更多android小部件的默认属性:

使用这个

b.tr.setBackgroundDrawable(null);
我自己做的

this.setBackgroundResource(android.R.drawable.btn_默认值)

XML中“modern”按钮的可绘制性为@android:Drawable/btn\u default\u material
由于某些原因,它在android.R.drawable中不存在


编辑:它是私人的,所以不要用它。

就是这个,谢谢。我一辈子都找不到。看到了之前的一篇关于这个的帖子,但是他们去掉了“android.R”部分,只使用了“R.drawable”下面的答案适合那些最初以不同方式自定义按钮的人。有没有办法获得系统默认按钮而不是姜饼默认按钮?这不起作用,因为btn_默认按钮可能并不总是应用程序的默认按钮!我使用了@piotrpo的答案,效果非常好。setBackgroundDrawable的方法是不推荐的。setBackground(Drawable)instead我会说这个答案比公认的更好。被接受的答案给了我一个android 2.3风格的按钮,而这给了我一个完全是原始的按钮(这比被接受的答案更有可能做到)。非常感谢你的回答!我一直在寻找一个合适的解决方案,最后在这里找到了。这正是我想要的。因为btn_默认值不是每个应用程序的默认值,所以我使用了这个答案。不是公认的!
b.tr.setBackgroundDrawable(null);