powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Как при смене темы менять стили кнопок?
8 сообщений из 8, страница 1 из 1
Как при смене темы менять стили кнопок?
    #39155363
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В приложении используются 2 вида кнопок. Это разные кнопки как по цвету, так и по другим свойствам.
Свойства этих 2-х видов кнопок описаны в 2-х разных стилях.
Вот так я описываю 2 стиля для первого типа кнопок:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    <!-- Стиль больших кнопок для светлой темы -->
    <style name="MainButtonStyleLight">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">64dp</item>
        <item name="android:onClick">btnClick</item>
        <item name="android:background">@drawable/button_selector</item>
    </style>
 
    <!-- Стиль больших кнопок для тёмной темы -->
    <style name="MainButtonStyleBlack">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">64dp</item>
        <item name="android:onClick">btnClick</item>
        <item name="android:background">@drawable/button_selector_black</item>
    </style>


То-же самое прописано для других видов кнопок.
Как мне сделать так, чтобы при смене темы подтягивались соответствующие стили кнопок?
Если я пропишу так:
Код: xml
1.
2.
3.
    <style name="AppThemeDark" parent="@android:style/Theme.Black">
        <item name="android:imageButtonStyle">@style/MainButtonStyleBlack</item>
    </style>


, то данный стиль кнопок повлияет на оба типа кнопок, а мне этого не нужно.
Как быть?
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39155928
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файл attr.xml , нет создаешь
Код: xml
1.
2.
3.
4.
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <attr name="MyImageButtonStyle" format="reference"/>
</resources>



в темах
Код: xml
1.
2.
3.
<style name="AppThemeDark" parent="@android:style/Theme.Black">
        <item name="MyImageButtonStyle">@style/MainButtonStyleBlack</item>
</style>



в лейоуте
Код: xml
1.
2.
3.
  <Button
   style="?attr/MyImageButtonStyle"
   ... />
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39156524
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Джибс,
Большое спасибо!
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39156968
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос.
В теме указываем стиль для кнопок:
Код: xml
1.
2.
3.
<style name="AppThemeDark" parent="@android:style/Theme.Black">
        <item name="MyImageButtonStyle">@style/MainButtonStyleBlack</item>
</style>



В этом случае все свойства, которые не были описанны в стиле MainButtonStyleBlack обнуляются. Хотя свойства по-умолчанию прописаны в "@android:style/Theme.Black" (такие как смена цвета при нажатии и другие).
Можно ли сделать так, чтобы эти свойства наследовались от Theme.Black?
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39157501
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде как parent должен этим заведовать, но как оказалось, и без него всё нормально получается, пока не применю к стилю для ImageButton свойство background для смены цвета:
Код: xml
1.
2.
3.
<style name="MainButtonStyleBlack" parent="android:Theme.Light">
        <item name="android:background">#000000</item>
</style>


После этого кнопки превращаются в что-то непотребное, пока не пропишу в этом стиле многие свойства.
Почему так?
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39157963
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше наследовать от основных стилей, тогда кнопки нормальные будут
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39158838
Slon747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Джибслучше наследовать от основных стилей, тогда кнопки нормальные будут

А разве стиль @android:style/Theme.Black не основной?
...
Рейтинг: 0 / 0
Как при смене темы менять стили кнопок?
    #39159033
Фотография Джибс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slon747Джибслучше наследовать от основных стилей, тогда кнопки нормальные будут

А разве стиль @android:style/Theme.Black не основной?

но не для конкретного элемента, может по этому.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Как при смене темы менять стили кнопок?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]