我正在編寫一個只有一個按鈕的程序。開始時,按鈕爲默認顏色;當點擊按鈕時,背景顏色變成紅色,然後再次點擊,其背景顏色變成默認顏色。任何關於在myButton.setOnClickListener(new OnClickListener(){}
方法中編寫代碼的建議?由於將按鈕背景顏色設置爲Android SDK中的默認顏色
1
A
回答
1
// Class member variable
private Drawable defaultDrawable;
myButton.setOnClickListener(new OnClickListener()
{
if(defaultDrawable == null)
{
defaultDrawable = myButton.getDrawable();
myButton.setBackgroundColor(Color.BLUE);
}
else
{
myButton.setBackgroundDrawable(defaultDrawable);
defaultDrawable=null;
}
}
您絕對可以改進邏輯以提高可讀性。
你也可以簡單地使用ToggleButton,它有兩種狀態。每個狀態都有自己的背景可繪製/顏色,您可以在xml文件中指定。不需要聽衆。
0
你可以做簡單:
boolean isSelected = false;
int color1 = R.color.mycolor1;
int color2 = R.color.mycolor2;
myButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(isSelected){
btn.setBackgroundColor(color1);
} else {
btn.setBackgroundColor(color2);
}
isSelected = !isSelected;
}
});
另一種解決方案是擴展Button類,存儲您isSelected標誌作爲一個成員類。通過這種方式,您可以在需要的地方重複使用這種按鈕。
+0
我只是想重新設置爲默認的顏色 – DavidNg
0
您可以從您的當前主題的R.attr.buttonStyle像這樣得到的顏色:
public static int getAttrResId(Context context, int attrId) {
TypedValue outValue = new TypedValue();
context.getTheme().resolveAttribute(attrId, outValue, true);
return outValue.resourceId;
}
相關問題
- 1. 帶懸浮顏色和按顏色的wpf按鈕,如何將它們的默認值設置爲背景
- 2. 將默認顏色設置爲Android庫
- 3. 設置背景顏色:Android
- 4. $。將背景顏色設置爲當前設置的顏色
- 5. 設置按鈕背景顏色
- 6. 設置背景顏色改變按鈕
- 7. Eclipse如何將按鈕背景顏色更改爲默認值
- 8. 爲uibutton背景圖像設置漸變顏色(顏色)iphone sdk
- 9. 將背景顏色設置爲色調顏色
- 10. 確定Android按鈕背景的默認顏色
- 11. 如何將按鈕的顏色更改爲其默認顏色
- 12. 將div的背景顏色的80%設置爲一種顏色
- 13. hotcocoa按鈕背景顏色
- 14. 按鈕背景顏色
- 15. 將gridview背景顏色設置爲datatable的顏色?
- 16. 默認按鈕顏色
- 17. 知道textField背景顏色是否爲默認顏色
- 18. 將背景顏色設置爲progressBar
- 19. 將背景顏色設置爲DotNet.Highcharts
- 20. 將背景設置爲漸變顏色
- 21. 將背景顏色設置爲頁面
- 22. 將背景顏色設置爲紋理
- 23. 將Windows窗體背景顏色設置爲混合顏色?
- 24. 如何在Android中按下按鈕時將背景設置爲隨機顏色?
- 25. Android設置背景顏色按鈕按下
- 26. 將Android按鈕重置爲默認顏色和樣式
- 27. Android應用背景顏色按鈕
- 28. iPhone設置背景條按鈕的色調顏色
- 29. 設置背景顏色2
- 30. 設置背景顏色
事實上,我作出了多項選擇題測驗。每個選擇都是一個按鈕。我想在轉移到下一個問題時將所有按鈕的顏色更改爲其默認顏色 – DavidNg