Подтвердить что ты не робот

Почему я не должен использовать значки меню, предоставляемые ОС?

Я хотел бы использовать некоторые значки меню по умолчанию, предоставленные ОС Android.

android menu icons

XML будет примерно таким:

<item android:id="@+id/menu_refresh"
   android:icon="@android:drawable/ic_menu_refresh"
   android:title="@string/menu_refresh" />

Но документация говорит, что это недопустимо.

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

Я думал, что использование значков по умолчанию - это то, что дизайн действительно меняется с ОС на ОС. Используя значки по умолчанию, ваше приложение будет выглядеть и чувствовать себя подходящим для ОС, на котором он работает. Так что же плохого в использовании значков по умолчанию? Похоже, что использование значков по умолчанию не повредит внешнему виду приложения.

4b9b3361

Ответ 1

Проблема в том, что вы добавляете зависимость, которую Google не гарантирует, будет статичной.
Имена этих значков могут измениться, размер может измениться и стать несовместимым с вашим приложением.
Если вы хотите, чтобы значки были такими же, как текущие Google, вы можете использовать доступные здесь

Ответ 2

Очень возможно, что некоторая конфигурация Android не будет читать эти ресурсы: HTC Sense, Samsung TouchWiz.

Что вы можете сделать, так это найти нужные вам чертежи в sdkFolder/platform/platform - #/data/res/и поместить их в свой проект. Затем ссылайтесь на них, как на обычные ресурсы (@drawable/icon).

Ответ 3

IMO, на практике вы можете использовать значки меню, предоставляемые ОС Android, пока вы используете только значки, предоставленные ОС для всех ваших пунктов меню. Если вам нужен другой значок (скажем, refresh), вам также нужно будет копировать изображения для других значков. В противном случае, если вы смешаете свои собственные и значки ОС, визуальные стили могут существенно различаться на некоторых устройствах.

Ответ 4

Я действительно не могу думать о причине, отличной от того, что, если ваша операция делает что-то большее, чем немного отличное от связанного с ней действия. Для exagerated экземпляра, если у вас была кнопка "Корзина", это место, где вы создали новые виджеты. Но я полагаю, что если вы выполняете операции, аналогичные операциям ОС, тогда вы в порядке. На самом деле я согласен с вами, он может даже выглядеть лучше для приложения.

Ответ 5

Проблема заключается в "настройках" каждой несущей или factory делает для ОС, поэтому вы не можете предположить, что они присутствуют или соответствуют использованию. Во всяком случае, если они вам нравятся, вы можете просто скопировать их в свои чертежи, так как они будут выглядеть стандартными независимо от настроек.

Ответ 6

Также он может варьироваться от версии для Android до другой версии для Android. Поэтому было бы лучше включить собственный набор значков