Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 334
#1

Смена цветовых тем для стилей View - Программирование Android

28.05.2015, 18:44. Просмотров 301. Ответов 0

Сейчас в моем приложении одна тема и есть много стилей для разных View. К примеру вот кусок этих стилей.

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!-- styles.xml -->
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light" />
 
<style name="title">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textSize">22sp</item>
    <item name="android:padding">10sp</item>
    <item name="android:gravity">center_horizontal</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:background">@color/background_all_screen</item>
</style>
 
<style name="label">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:textColor">@color/black</item>
    <item name="android:textSize">18sp</item>
    <item name="android:layout_alignParentLeft">true</item>
    <item name="android:layout_marginLeft">5dp</item>
</style>
 
<style name="button">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:layout_margin">2dp</item>
    <item name="android:textSize">18sp</item>
    <item name="android:textColor">@color/white</item>
    <item name="android:background">@color/blue</item>
</style>
Я хочу добавить несколько цветовых тем в приложение. Меняя одну тему на другую - будет меняться только цвет кнопок, текста и т.п. То есть мне необходимо менять цвет элемента в зависимости от выбранной темы.
Для стандартных View это делать довольно просто .

XML
1
2
3
4
5
6
7
8
9
10
11
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- original theme attributes -->
    ...
    <item name="colorPrimary">@color/colorPrimaryInverseWhite</item>
</style>
 
<style name="AppTheme.Dark" parent="Theme.AppCompat">
    <!-- alternative theme attributes -->
    ...
     <item name="colorPrimary">@color/colorPrimaryInverseBlack</item>
</style>
Но как быть, если для элементов используются свои стили, как в моем случае?

Пробовал так, но не работает

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<style name="Button.MyButton" parent="android:style/Widget.Button">
  <item name="android:background">@drawable/shape</item>
</style>
 
 <style name ="Button.MyButton.Theme1">
     <item name="android:textColor">#000000</item>
  </style>
 
 <style name ="Button.MyButton.Theme2">
     <item name="android:textColor">#FFFFFF</item>
  </style>
 
 <Button
     android:id="@+id/save_button" 
     android:layout_width="0px" 
     style="@style/Button.MyButton"
     android:layout_weight="1"
     android:layout_height="wrap_content"
     android:text="@string/save"/>
Используются только атрибуты указанные в Button.MyButton, а цвет текста из Button.MyButton.Theme1 и Button.MyButton.Theme2 игнорируется

Добавлено через 34 минуты
Пожалуй вот и ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2015, 18:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Смена цветовых тем для стилей View (Программирование Android):

Указать цвет текста, подходящий для разных цветовых тем - Программирование Android
Есть напр. 2 темы: Theme.AppCompat - темная Theme.AppCompat.Light - светлая Вот как указать одним стилем что цвет TextView при...

В чем разница (View view) и (View v) - Программирование Android
Я только начинаю изучать программирование под андроид (до этого вобще программированием не занимался), по гуглу удалось найти только...

Генерация цветовых экранов - Программирование Android
Добрый день! Необходимо реализовать мигание экрана смартфона в соответствии с определенным алгоритмом (что то на подобии милицейской...

Изменение стилей для элементов showDialog - Программирование Android
Здравствуйте. Как изменить стили элементов showDialog? Есть элементы диалога, в виде кнопок(скрин приложу ниже). Как изменить цвет кнопки...

View вытесняет другое view из activity - Программирование Android
После второго EditText должна располагаться кнопка. Но почему-то этот второй EditText выпихивает ее из activity. Что не так?

Public void onClick(View view) - Программирование Android
Не работает public void onClick(View view) :wall: public class MainActivity extends AppCompatActivity implements View.OnClickListener...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2015, 18:44
Привет! Вот еще темы с ответами:

Разные стили для разных тем - Программирование Android
У кнопок прописан стиль: main.xml: &lt;ImageButton android:id=&quot;@+id/btnSettings&quot; android:src=&quot;@drawable/settings&quot; ...

OnTouch из активити для View - Программирование Android
В активити прописан метод onTouch. Что нужно написать чтобы добавленные View так же вызывали выполнение кода при прикосновении

MVP для Android игры - реализация View - Программирование Android
Добрый вечер! Делаю архитектуру для небольшой игрушки на Android, но возникли вопросы. Как говорится, на 7 раз игру написать в одной...

Программно задать цвет фона для View - Программирование Android
Возникла проблема с установкой фона для View. Получаю цвет через класс Color Код: RelativeLayout rl; @Override protected void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru