Каков хороший подход к сохранению файлов настроек, например, для изменения фоновых тем? - PullRequest
0 голосов
/ 11 июля 2019

Я делаю некоторые изменения и не могу найти, как это делается, я хочу выполнить задание с настройками и файлами для моего приложения, и они изменят цвета, темную тему, кнопки и т. Д.

Также у меня есть некоторые сомнения относительно того, как мне применить эти изменения, первое, что приходит в голову, это onCreate, но так как для этого потребуется перезагрузка, это хороший способ сделать это, например, изменить цвет шрифта на белый и фон на черный для темного варианта темы?

Еще одно сомнение связано с изменением положения кнопок. Допустим, я хочу 4 положения кнопок, я мог бы сделать все эти 4 кнопки и установить режимы GONE, но это выглядит как плохая идея с точки зрения производительности, нет? Если это плохая идея или есть лучший способ сделать это?

У меня загружено представление переработчика из базы данных sqlite.

Я подтверждаю эту документацию: https://developer.android.com/training/data-storage/shared-preferences Но все еще есть некоторые сомнения, скажем, положение кнопки 1234 и темная тема true / false.

Как хранить один логический и один Int в отдельных файлах? Или я должен сохранить один текстовый файл, прочитать его и загрузить в свое приложение, например, 1t для позиции 1 и темная тема true?

Я хочу выполнить очень полную настройку активности для моего приложения.

Я очень ценю любую помощь или предложения, которые вы можете предоставить.

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Создание разных стилей для разных «тем», которые вы хотите.

Вот пример того, как вы можете создавать различные темы на странице настроек и изменять их в режиме реального времени.https://github.com/RoudyK/DemoApp

В основном фрагмент настроек является предпочтительным фрагментом, и каждая строка отображается в перечисление стиля, которое ссылается на один из стилей, определенных в xml.

1 голос
/ 11 июля 2019

прочитайте AppCompatDelegate.setDefaultNightMode() как один из способов динамического изменения тем и цветов в зависимости от времени суток для пользователя (дневной режим / ночной режим). Я думаю, что вы немного усложняете проблему, просто создайте разные файлы макетов и стили для разных экранов, которые вы хотите показать, и затем используйте их по мере необходимости, вместо того, чтобы пытаться делать все с одним файлом.

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