可能重複:
How to remove ImageButton's standard background image?如何將默認背景分配給按鈕?
我設置一個自定義背景的Button
。現在我想恢復此更改並再次顯示Button
的默認背景。我怎樣才能做到這一點?
可能重複:
How to remove ImageButton's standard background image?如何將默認背景分配給按鈕?
我設置一個自定義背景的Button
。現在我想恢復此更改並再次顯示Button
的默認背景。我怎樣才能做到這一點?
一個解決方案就是在您將其設置爲自定義之前記住哪個Drawable作爲背景。保存在onCreate()
。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_layout);
button = (Button) findViewById(R.id.yourbutton);
defaultButtonBackgroundDrawable = button.getBackground();
// set a custom background here, or somewhere else.
// Just make sure that the default one is saved before you modify it.
}
其中defaultButtonBackgroundDrawable
是您的活性和button
的成員變量保持到您的按鈕的引用。這樣,您就可以通過做
button.setBackgroundDrawable(defaultButtonBackgroundDrawable);
感謝您的解決方案。它對我來說工作正常但我發現了另一種解決方案,它也可以工作btn.setBackgroundDrawable(getResources()。getDrawable(android.R.drawable.btn_default)); – 2012-07-13 13:41:48
您可以使用android:background="@null"
作爲您的Button
。
或button.setBackgroundResource(0);
或button.setBackgroundDrawable(null);
button.setBackgroundResources(0);這是錯誤的,因爲這個方法對於按鈕是未定義的。和button.setBackgroundDrawable(null);使我的按鈕消失。 – 2012-07-13 13:19:22
通過編程,你可以這樣做,
button.setBackgroundDrawable(null);
button.setBackgroundResource(0);
通過設置button.setBackgroundDrawable(null),我的按鈕變得消失; – 2012-07-13 13:16:42
最後我得到了我的問題btn.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.btn_default));
這使我的按鈕的背景,因爲它在默認情況下的解決方案。
複製你的問題的標題到谷歌,第一主打爲[這個問題](http://stackoverflow.com/questions/5457138/how-to-很輕鬆地恢復默認的背景除去-imagebuttons規格的背景圖像)。 -1沒有研究工作。 – 2012-07-13 13:05:27
請發表您的按鈕的xml – AkashG 2012-07-13 13:05:41
@alextsc我想刪除按鈕的背景(並且要設置默認背景)而不是圖像按鈕。如果我嘗試在Button的背景中設置空或透明圖像,則Button將消失。爲什麼?????? – 2012-07-13 13:13:22