Полезные системные ресурсы Android - PullRequest
46 голосов
/ 13 апреля 2010

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

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

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

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

Ответы [ 4 ]

52 голосов
/ 13 апреля 2010

Вы можете найти полный список всех системных ресурсов в пакете 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.
  • Встроенные в Android анимации постепенного появления и исчезновения в android.R.anim.
16 голосов
/ 09 апреля 2012

Вы можете получить доступ к системным ресурсам из xml, указав в них имя пакета android, т.е. "@android:string/ok"

6 голосов
/ 14 апреля 2010

Как уже упоминалось в 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()).

1 голос
/ 31 января 2017

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

Например, немецкое «нет» в android-25 - «Abbrechen», что фактически означает «отмена». «Да» переводится как «ОК» ...

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...