Как использовать общие стили пользовательского интерфейса в Android? - PullRequest
4 голосов
/ 27 апреля 2011

Я пишу свое маленькое приложение для Android. Я выскакиваю диалоговое управление, которое является хорошим, не полноэкранным диалоговым окном с закругленными углами, устанавливая android:theme="@android:style/Theme.Dialog" на активность в моем манифесте. Это все работает так, как я ожидал. Однако это просто однообразное диалоговое окно с серым названием, как на этом скриншоте:

default grey dialog look

Однако я заметил, что МНОГИЕ приложения, когда они открывают диалоговые окна, имеют красивый заголовок синей тематики, как на этом снимке экрана.

enter image description here

Я бы предположил, что эта тема является некоторой распространенной темой, поскольку она отображается в МНОЖЕСТВЕ разных приложений. Я бы предположил, что это что-то встроенное в ОС. (Мой телефон Captivate с официальным релизом Froyo). Конечно, это МОЖЕТ быть чем-то, что каждый разработчик просто перекодировал самостоятельно, но я сомневаюсь в этом.

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

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 27 апреля 2011

Вы можете настроить свою деятельность на использование темы по умолчанию, такой как Theme.Black.Есть темы по умолчанию, и они в R.style - хотя я не уверен, какие доступны для каких платформ (т.е. я думаю, что голографические темы предназначены для 3.0 и выше ...

http://developer.android.com/reference/android/R.style.html

см. Здесь http://developer.android.com/guide/topics/ui/themes.html для определения собственных пользовательских тем и прокрутки до конца для использования "стилей платформы" и тем.

0 голосов
/ 27 апреля 2011

Чтобы создать диалог, вам нужно расширить класс диалога. И чтобы иметь хорошую строку заголовка, вы можете использовать:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

и иметь свой собственный заголовок.

чтобы использовать заголовок:

setTitle("MyTitle");

Вы также можете назначить свой пользовательский вид для заголовка.

0 голосов
/ 27 апреля 2011

Скорее грязно (похоже, для этого нет хорошей ссылки), но стили платформы определены в \ platform \ android- \ data \ res \ values ​​\ styles.xml и \ platform \ android- \ data\ \ разреш значения \ themes.xml.Вы можете просмотреть их и выяснить идентификаторы тем / стилей, которые доступны во время компиляции.

Кроме этого, на самом деле это просто метод проб и ошибок.

...