2013-07-11 2 views
0

В моем приложении я использовал Theme.Holo.Light, чтобы заставить ActionBar выглядеть светло, и я очень доволен результатом.Как заставить мои виджеты использовать темную тему?

Единственная проблема заключается в том, что все мои виджеты (EditText, Spinner, и т.д ..) действуют как фон был белым, в то время как я установил его темно-синий:

enter image description here

Есть простой путь в файле style.xml, где я могу заставить все действовать, как тема была темной?

Я знаю, что я мог бы тему цвета текста, фоновых ресурсов и т. Д. Но это было бы огромной работой.

Большое спасибо за любой намек, который мог бы помочь мне достичь этого легко.

Edit: какие звуки лучшее решение, но не работает:

<style name="AppBaseTheme" parent="@android:Theme.Holo"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
</style> 

ответ

0

Чтобы решить эту (легкий путь), вы должны использовать Theme.Holo. И измените панель действий на Theme.Holo.Light.

расширить тему:

<style name="MyTheme.Dark" parent="android:Theme.Holo.Light.ActionBar"></style> 

использование getActionBar().getThemedContext() в качестве контекста для надувания ваших взглядов.

+0

Большое спасибо за ваш ответ, но с использованием Holo.Light в MyTheme.Dark принесет черный текст повсюду, и этого я хочу избежать. Я не могу использовать код каждый раз, когда я раздуваю представление, это будет слишком много работы, я действительно планирую использовать стиль в xml, если это возможно. –

0

Вы можете использовать библиотеку Holoeverywhere для достижения вашего результата. HoloEveryWhere

+0

Lol, если вы нажмете ссылку «Кристоф» на проекте, вы поймете, что это я ;-), но HoloEverywhere использует стандартные предметы Holo на Android> 3.0, поэтому не будет полезно ;-) Проблема останется такой же! –

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