2012-07-01 3 views
0

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

A) Ninepatch PNGs

B) Android XML создано

C) Photoshop PNGs

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

ответ

1

Это зависит от того, как они должны выглядеть. Закругленные углы? Сложные изображения? Бросать тени? Обычные цвета?

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

Если вы работаете с изображением, то 9 патчей - это путь. Играйте с инструментом draw9patch, который поставляется вместе с sdk, чтобы получить его. Вы также не обязательно должны оставлять углы в лавине, иногда вам может понадобиться разбить область изменения размера в зависимости от изображения.

PNG - последнее средство, поскольку они являются наименее гибкими из 3 вариантов.

Кстати, вы также должны рассмотреть возможность использования списка состояний для всех ваших кнопок, независимо от того, как вы реализуете drawable, который использует кнопка. Смотрите по ссылке ниже:

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

+0

Спасибо за тщательный ответ! –

+0

@JamesFazio np, вы также можете собрать несколько довольно приятных чертежей, используя комбинацию из девяти патчей и xml-форм с использованием списков слоев. http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList – Flynn81

Смежные вопросы