Как использовать графические элементы по умолчанию для Android - программирование
Подтвердить что ты не робот

Как использовать графические элементы по умолчанию для Android

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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

import android.R;

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

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

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

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

Ответ 6

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