2011-07-29 51 views
5

我試圖使用android.R.drawable stat_sys_download爲文本視圖的背景圖像,但它沒有顯示出來:Android的:不能使用android.R.drawable作爲背景圖像的TextView

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.stat_sys_download)); 

如果我使用一個不同的android.R.drawable像ic_menu_save正常工作:

textview.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.ic_menu_save)); 

我可以使用,無論stat_sys_download作爲一個菜單選項的圖標,所以我知道它的存在:

menu.add(0, OPTION_MENU_SORTBY, 0, Str.TEXT_SORTBY).setIcon(android.R.drawable.stat_sys_download); 

那麼,爲什麼我可以使用stat_sys_download作爲圖標而不是背景?我應該將它複製到我的資源文件夾並以這種方式使用它嗎?

+0

如果將drawable.stat_sys_download複製到本地文件夾中,然後使用yourpackage.R.drawable.stat_sys_download,會發生什麼情況? – Gallal

回答

2

Google's UI Guidelines for Status Bar Icons(也可以對其他繪製元素被應用)

警告:由於這些資源平臺版本之間切換, 你不應該參考使用Android平臺 資源ID這些圖標(即狀態在android.R.drawable下的酒吧圖標)。如果您想使用任何圖標或其他內部繪圖資源,您應該在您的應用程序 資源中存儲這些圖標或繪圖的本地副本,然後從您的應用程序代碼中引用本地副本。 通過這種方式,即使系統副本發生更改,您也可以保持對您的 圖標外觀的控制。

+0

完美,謝謝 – odiggity

0

這很奇怪,雖然ic_menu_save和stat_sys_download在它們的格式中可能會有所不同,導致此問題。你可以嘗試使用setBackgroundResource(int resId)而不是?否則,請嘗試將資源複製到本地目錄並查看是否有效。