Руководство для пользовательских элементов управления пользовательского интерфейса - PullRequest
6 голосов
/ 18 июня 2010

Я хочу разработать приложение для Android, но я не хочу использовать элементы управления по умолчанию (кнопки, флажки, переключатели и т. Д.).Есть ли способ настроить эти элементы управления, чтобы он выглядел лучше?Если так, то какое-то руководство или учебник мне очень помогут.Спасибо ....

1 Ответ

15 голосов
/ 19 июня 2010

Если вы хотите создать совершенно новые элементы пользовательского интерфейса, вам следует прочитать руководство по созданию пользовательских компонентов / представлений .

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

  • Сначала посмотрите, как они реализованы в исходном коде Android ( AOSP , зеркало GitHub ). Весь интересующий вас код находится в проекте frameworks/base.git (быстрые ссылки: ресурсы , источники Java )

  • Для каждого типа элемента пользовательского интерфейса создайте Nine Patch PNG Drawables для каждого из состояний пользовательского интерфейса (по умолчанию, отключен, нажат, сфокусирован и т. Д.) И для каждой соответствующей плотности (например, средний высокая и сверхвысокая плотность). Эти PNG должны быть в ваших каталогах res/drawable-mdpi/, res/drawable-hdpi/ и res/drawable-xhdpi/.

  • Для каждого типа элемента пользовательского интерфейса создайте XML-список списка состояний (<selector>), который будет находиться в каталоге res/drawable/. Список состояний, отображаемый для стандартной кнопки Android, можно найти здесь .

  • Установите для атрибута android:background кнопки / текстового поля и т. Д. Имя для списка состояний. Например, значение атрибута должно быть @drawable/mybutton, если ваш список состояний для рисования равен res/drawable/mybutton.xml.

    Примечание. Вы можете использовать темы для уменьшения избыточности (т. Е. Сохранять их DRY ) в файлах XML.

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