Android: У меня просто есть один выстрел за собственность через использование тем? Нет ничего такого как CSS в Android?

StackOverflow https://stackoverflow.com/questions/3751663

Вопрос

Здесь они пишут:

Чтобы применить определение стиля в качестве темы, вы должны применить стиль на активность или приложение в андроиде. Когда вы делаете это, каждый вид в пределах действия или приложения будет применять каждое свойство, которое оно поддерживает. Например, если вы применяете стиль 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" />

Я думаю, что вы снова должны прочитать страницу, которую вы сами связали, это хорошо объяснено :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top