У меня есть тема под названием "greenhighlight" — эта тема была сгенерирована с помощью Генератор стилей Android Action и наследуется от темы ActionBarSherlock по умолчанию. Тема ничего не делает, кроме изменения подсветки в нижней части ActionBar от синего до зеленого.
Для темы всех моих действий, я просто делаю:
<application android:theme="@style/Theme.greenhighlight"...
Это хорошо работает для действий (обратите внимание на зеленую подсветку в нижней части ActionBar):
Тем не менее, у меня возникают трудности с тем, чтобы мои диалоги соответствовали моим действиям:
Моя тема "greenhighlight_Dialog" определяется как:
<style name="greenhighlight_Dialog" parent="@style/Theme.Sherlock.Dialog">
<item name="android:progressBarStyleHorizontal">
@style/greenhighlight_ProgressBar
</item>
</style>
Я наследую от темы диалога Шерлока по умолчанию и переопределяет индикатор выполнения, используя стиль строки выполнения, как определено моей сгенерированной темой "greenhighlight" — вы можете видеть, что индикатор выполнения - это правильный оттенок зеленого на скриншоте выше.
Чтобы использовать тему, я запускаю следующий код:
ContextThemeWrapper ctw =
new ContextThemeWrapper(this, R.style.greenhighlight_Dialog);
AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
...
ProgressDialog pd = new ProgressDialog(this, R.style.greenhighlight_Dialog);
...
Моя проблема в том, что я понятия не имею, какие атрибуты мне нужно переопределить. Я просматривал styles.xml и themes.xml как рекомендовано Styles and Themes doco (что отмечает, что ссылка R.style, однако, не хорошо документирована и не описывает полностью стили ") — но существует множество стилей, определенных в Theme.Dialog, и я не уверен, какие из них мне нужно переопределить, чтобы получить требуемое изменение.
Какие атрибуты мне нужно переопределить для моих диалогов, чтобы иметь зеленый текст заголовка, зеленый заголовок под заголовком и зеленые галочки для отмеченных элементов списка?