Android: нельзя использовать android.R.drawable в качестве фонового изображения для просмотра текста - PullRequest
5 голосов
/ 29 июля 2011

Я пытаюсь использовать android.R.drawable stat_sys_download в качестве фонового изображения для текстового представления, но оно не отображается:

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?как значок, а не как фон?Должен ли я скопировать его в папку ресурсов и использовать его таким образом?

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

С Рекомендации Google по пользовательскому интерфейсу для значков строки состояния (также может применяться к другим рисуемым элементам)

Предупреждение. Поскольку эти ресурсы могут изменяться в зависимости от версии платформы, вам не следуетссылаться на эти значки, используя идентификаторы ресурсов платформы Android (то есть значки строки состояния под android.R.drawable).Если вы хотите использовать какие-либо значки или другие внутренние ресурсы для рисования, вам следует хранить локальную копию этих значков или элементов для рисования в ресурсах вашего приложения, а затем ссылаться на локальную копию из кода вашего приложения.Таким образом, вы можете контролировать внешний вид ваших значков, даже если системная копия изменяется.

0 голосов
/ 29 июля 2011

Это странно, хотя, вероятно, существует разница между ic_menu_save и stat_sys_download в их форматах, что вызывает эту проблему.Можете ли вы попробовать использовать setBackgroundResource(int resId) вместо этого?В противном случае попробуйте скопировать ресурс в локальный каталог и посмотреть, работает ли он.

...