Как продлить Android Материал Темная тема - PullRequest
0 голосов
/ 04 мая 2020

Я знаю, что мог бы совершать здесь более чем достаточно ошибок. Но дай мне знать. Я попытался просмотреть документацию MaterialIO как можно лучше, и все это выглядит так круто и сложно, с дюжиной ссылок на каждой странице, перенаправляющих меня на другой второстепенный компонент. Именно тогда я решил попробовать.

  • Я добавил материал materialIO в свои зависимости
  • Затем я добавил Material в свой файл манифеста и написал это
<application ...
        android:theme="@style/Theme.MaterialComponents.DayNight" >
</application>
  • Затем я сделал values/themes.xml и values-night/themes.xml в соответствии с инструкциями какой-либо части страницы ввода-вывода материала.
  • Моя интуиция заключалась в том, чтобы написать тег стиля в тех ресурсах, которые расширили Материал темы и установить мои значения цвета. Цвета, которые я нашел на странице materialIO:
    • Фон (наложение поверхности высотой 0dp) ->
    • Поверхность (с наложением поверхности возвышения 1dp) ->
    • Основной
    • Вторичный
    • На фоне
    • На поверхности
    • На основном
    • На дополнительном
  • Поэтому я начал добавлять теги в values-night / themes. xml. Я не мог применить android: к некоторым тегам, и некоторые теги вызывали ошибки при этом.
<?xml version="1.0" encoding="utf-8"?>
<resources>
        <style name="AppCompat.." parent="Theme.MaterialComponents.DayNight">
                <item name="android:colorBackground">@color/JDBG</item>
                <item name="colorSurface">@color/JDSurface</item>
                <item name="colorPrimary">@color/JDPrimary</item>
                <item name="android:colorSecondary">@color/JDSecondary</item>
                <item name="android:OnBackground">@color/JDOnBackground</item>
                <item name="android:OnSurface">@color/JDOnSurface</item>
                <item name="OnPrimary">@color/JDOnPrimary</item>
                <item name="OnSecondary">@color/JDOnSecondary</item>
        </style>
</resources>
  • Затем я добавил цвета к соответствующим colors.xml и colors-night.xml файлы, в которых говорилось, что у этих значений нет декларации в папке базовых значений, и это может вызвать проблемы.

Я не хочу ни с чем трудиться с очень абстрактной документацией, которая приводит меня к десять направлений в каждой точке. Отсюда и вопрос. , , Что-то не так я сделал? Что мне делать дальше?

1 Ответ

1 голос
/ 04 мая 2020

Просто определите свою тему в файле ресурсов.
Например res/values/styles.xml:

<style name="MyTheme" parent="Theme.MaterialComponents.DayNight">
    <item name="colorPrimary">@color/....</item>
    <item name="colorSecondary">@color/....</item>
    <item name="colorOnPrimary">@color/....</item>
    <item name="colorOnSecondary">@color/....</item>
    .....
</style>

Определите цвета в res/values/colors.xml и res/values-night/colors.xml.

Затем примените тема в Манифесте:

<application ...
        android:theme="@style/MyTheme" >

См. также официальное руководство .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...