Android: У меня просто есть один выстрел за собственность через использование тем? Нет ничего такого как CSS в Android?
-
04-10-2019 - |
Вопрос
Здесь они пишут:
Чтобы применить определение стиля в качестве темы, вы должны применить стиль на активность или приложение в андроиде. Когда вы делаете это, каждый вид в пределах действия или приложения будет применять каждое свойство, которое оно поддерживает. Например, если вы применяете стиль CodeFont из предыдущих примеров к активности, то все элементы просмотра, которые поддерживают их свойства стиля текста.
Итак, когда я устанавливаю TextColor на красный, сделайте все элементы с изменением текста на красный? Не существует мощный спецификатор, как в стиле CSS? Я просто вижу концепцию стилей (style="@style/CodeFont"
) практически осуществимо.
Решение
В ответ на ваши комментарии вы можете найти, что вы ищете с собственностью textAppearance
.
Откройте файл Themes.xml здесь:
https://android.googlesource.com/platform/frameworks/base/+/froo-relase/core/res/res/values/themes.xml.
Если вы сделаете поиск для текстового оборудования, вы заметите различные записи, такие как:
<style name="Theme">
<item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>
...
<item name="panelTextAppearance">?android:attr/textAppearanceInverse</item>
...
Это позволяет вам в некоторой степени в стиле компонентов на протяжении всего приложения, как показано в примере Maragues.
Таким образом, в то время как его невозможно полностью контролировать стиль всех детей-элементов, видимый в списке, просмотр прокрутки и т. Д., Существует некоторая ограниченная поддержка для управления стилями некоторых текстовых компонентов, таких как TextView и или кнопка.
Другие советы
Если вы читаете чуть ниже текста, который вы указали:
Чтобы установить тему для всех действий вашего приложения, откройте файл AndroidManifest.xml и отредактируйте тег, чтобы включить атрибут Android: тема с именем стиля
Если вы хотите, чтобы тема применилась только к одной активности в вашем приложении, добавьте атрибут тема Android: вместо этого тег.
И немного после этого он описывает, как наследовать и переопределить свойства, как CSS:
Если вам нравится тема, но хотите настроить его, просто добавьте тему в качестве родителя вашей пользовательской темы. Например, вы можете изменить тему традиционного диалога для использования собственного фонового изображения:
<style name="CustomTextView" parent="@android:style/Widget.TextView">
<item name="android:background">@drawable/custom_background</item>
</style>
Затем, чтобы взаимодействовать из CustomdextView
<style name="CustomTextView.RedText">
<item name="android:textColor">@color/red</item>
</style>
После разработки макета XML вы можете наследовать тему и переопределить свойства
<TextView
android:id="@+id/example"
style="@style/CustomTextView.RedText"
android:textColor="@color/green" />
Я думаю, что вы снова должны прочитать страницу, которую вы сами связали, это хорошо объяснено :)