Как использовать по умолчанию Android drawables


каков наилучший подход при использовании по умолчанию Android drawables? Я должен использовать android.R.drawable или я должен скопировать рисунки в моем проекте и использовать R.drawable?

есть ли риск, что в новой версии Android некоторые из чертежей по умолчанию будут удалены или изменены? Или, влияют каким-то негативным образом, внешний вид моего приложения? Кроме того, какие из чертежей в исходном коде Android считаются "стабильными" и на них следует полагаться?

Я бы предпочел не копировать рисунки потому что я думаю, что внешний вид приложения должен соответствовать используемой версии Android. Так, например, для версии 1.6 он должен использовать растровые изображения Android по умолчанию для версии 1.6.

6 52

6 ответов:

Если вы прочитаете какие-либо обсуждения в группе разработки android, вы увидите, что они препятствуют использованию всего, что не находится в общедоступном SDK, потому что остальное может быть сильно изменено.

пример использования Java:myMenuItem.setIcon(android.R.drawable.ic_menu_save);

пример использования ресурсов:android:icon="@android:drawable/ic_menu_save"

насколько я помню, документация советует не использовать значки меню с android.R. drawable напрямую и рекомендует копировать их в папку drawables. Основная причина заключается в том, что эти значки и имена могут быть изменены и могут быть недоступны в будущих версиях.

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

от: http://developer.android.com/guide/practices/ui_guidelines/icon_design_menu.html

лучше вы копируете и перемещаете их на свои собственные ресурсы. Некоторые ресурсы могут быть недоступны в предыдущих версиях Android. вот ссылка со всеми чертежами, доступными на каждой версии Android благодаря @fiXedd

чтобы использовать по умолчанию android drawable resource, не нужно ничего копировать.. вы можете просто импортировать его..

import android.R;

но я сделаю ваши собственные ресурсы будут иметь ошибку, если вы хотите использовать его. Ошибка будет что-то вроде:

R. не может быть решена

Итак, я предпочитаю не import android.R но import *my.own.package*.R;

тогда, когда я обычно могу использовать свой собственный ресурс с R.drawable.*something* без ошибок, и поставил android.R.*something_default* использовать ресурсы android по умолчанию.

лучше использовать android.R. drawable, потому что он является публичным и документированным.