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

Полезные системные ресурсы Android

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

Например, недавно я обнаружил, что Android предлагает локализованные строки для Yes (android.R.string.yes), No (android.R.string.no), Cancel (android.R.string.cancel) и Ok (android.R.string.ok) среди других строк.

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

Изменить: Как отметил Томас, некоторые из этих ресурсов могут не дать ожидаемых результатов (в частности, android.R.string.yes/no возвращает OK/Cancel вместо Yes/No, как сообщалось здесь). Для большего контроля вы можете скопировать системные ресурсы из исходного кода Android.

4b9b3361

Ответ 1

Вы можете найти полный список всех системных ресурсов в пакете android .

Каждый раз, когда я хочу что-то сделать на Android, я проверяю, есть ли системный ресурс, который охватывает то, что я хочу делать. Полезно импортировать исходный код Android (в частности, их /res/folder) при поиске уже реализованных ресурсов, которые вы, возможно, захотите, поэтому вы можете увидеть их конкретную реализацию.

Лично я чаще всего использую:

  • Встроенные макеты Android для стандартных задач, таких как раскрывающиеся выпадающие списки.
  • Идентификаторы Android (android.R.id), потому что вам часто требуется использовать их, если вы хотите использовать некоторые виджеты Android (например, TabHost/TabWidget требуется использовать "android:id/tabhost", "android:id/tabs", и "android:id/tabcontent", если вы хотите реализовать XML-макет).
  • Встроенные цвета, особенно android.R.color.transparent.
  • Встроенная анимация Fade-in и fade-out для Android в android.R.anim.

Ответ 3

Как упоминалось в CommonsWare, вам не нужно загружать исходный репозиторий Android для проверки ресурсов; просто перейдите к <android-sdk-dir>/platforms/android-X.X/data/res/. Однако, если вы начнете использовать их, вы быстро разочаруетесь, обнаружив, что большинство из них недоступны в классе android.R. В большинстве случаев мне приходится импортировать их в рабочее пространство Eclipse.: - (

Мои любимые ресурсы - это чертежи, которые отображаются по-разному на основе сфокусированных/нажатых/отключенных состояний (например, android.R.drawable.btn_default). Я использую их или настраиваю их для создания пользовательских кнопок для своих приложений. Как вы можете видеть, если вы смотрите на /data/res/drawable/btn_default.xml, они определяются как XML-элемент <selector>, который накачивается во время выполнения StateListDrawable во время выполнения. Вы также можете создать свой собственный StateListDrawables, и они очень полезны, как в виде фоновых изображений, так и в виде кнопки "составной доступный" (см. TextView.setCompoundDrawables()).

Ответ 4

Обратите внимание, что переводы действительно плохие.

Например, немецкий "нет" в android-25 "Abbrechen", что на самом деле означает "отменить". "Да" переводится как "ОК"...

Я не уверен, насколько хороши другие языки, поэтому я бы использовал собственный перевод.