AlexandrDP
@AlexandrDP
C#, ASP .NET MVC, WindowsPhone, Android

Android стили и темы?

Решил попробовать работать со стилями и темами и сразу стал.


создал стиль (задача, весь текст сделать зеленым)

<style name="PrivatStyle" parent="android:style/Theme.DeviceDefault">
        <item name="android:textColor">#00FF00</item>
    </style>



в манифесте указал тему
android:theme="@style/PrivatStyle"


В итоге

в TextView — текст зеленый

в EditText и Button — обычный белый


Хотя, как я понял, такое назначение темы сделает все textColor зеленым.

Какой момент я не учел?
  • Вопрос задан
  • 10767 просмотров
Пригласить эксперта
Ответы на вопрос 4
FanKiLL
@FanKiLL
Дело в том что Button, EditText это совсем другой элемент, у которого определены свои стили. Вы же переопределили только цвет у TextView похоже.

Для кнопок нужно переопределить android:buttonStyle
Для чекбоксов android:checkboxStyle
etc…
Ответ написан
FanKiLL
@FanKiLL
Попробуйте так

<style name="CustomText" parent="@style/Text">        <item name="android:textSize">20sp</item>        <item name="android:textColor">#008</item>    </style>  

Протупил, нето…
Ответ написан
AlexandrDP
@AlexandrDP Автор вопроса
C#, ASP .NET MVC, WindowsPhone, Android
Пока получился такой вариант.
Работает все кроме ExpandableListView.
Как то через… странно, все это сделано.
Вот как можно понять почему везде все применяется а именно к ExpandableListView реакции 0, хотя на layout лежат те же TextView.

	<style name="PrivatStyle" parent="Theme.Sherlock">
	    
        <item name="android:textColor">@color/default_text_color</item>
        <item name="android:textAppearance">@style/MyTextAppearance</item>
        <item name="android:buttonStyle">@style/MyButtonStyle</item>
        <item name="android:editTextStyle">@style/MyEditTextStyle</item>
        <item name="android:imageButtonStyle">@style/MyImageButtonStyle</item>
        <item name="android:textViewStyle">@style/MyTextViewStyle</item>
        <item name="android:expandableListViewStyle">@style/MyExpandableListViewStyle</item>
        <item name="android:listViewStyle">@style/MyListViewStyle</item>
        
	</style>

	<style name="MyTextAppearance" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>
  	
	<style name="MyButtonStyle" parent="@android:style/Widget.Button">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>
		
	<style name="MyEditTextStyle" parent="@android:style/Widget.EditText">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>

	<style name="MyExpandableListViewStyle" parent="@android:style/Widget.ExpandableListView">
        <item name="android:textColor">@color/default_text_color</item>
	</style>

	<style name="MyListViewStyle" parent="@android:style/Widget.ListView">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>

	<style name="MyImageButtonStyle" parent="@android:style/Widget.ImageButton">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>
	
	<style name="MyTextViewStyle" parent="@android:style/Widget.TextView">
        <item name="android:textColor">@color/default_text_color</item>
  	</style>
Ответ написан
FanKiLL
@FanKiLL
Попробуйте ещё вот так поменять цвет во всех контролах разом.
 <style name="PinkTheme" parent="android:style/Theme">
        <item name="android:textColorPrimary">#FF69B4</item>
    </style>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
PaymentWall Global Новосибирск
от 100 000 до 180 000 руб.
Dialog Москва
от 180 000 до 240 000 руб.
Ready for Sky Санкт-Петербург
от 110 000 руб.