React native application themeing

У меня вопрос по React Native.

У меня есть существующее приложение, которое должно быть тематическим, и оно должно быть частью настраиваемых параметров. У такой темы должно быть 3 аспекта: изменение цвета / темы, изменение логотипа и добавление пользовательских шрифтов.

Я вижу, что это способ просмотра настроек, где:

  • будет возможность загрузить изображение, изображение будет храниться в файловой системе в ios и android, а затем использоваться в качестве логотипа бренда.
  • будет несколько настроек, относящихся к некоторым основным, дополнительным, цветам кнопок в качестве значений хэша или, возможно, к некоторому компоненту выбора цвета
  • Самым сложным является наличие пользовательских шрифтов, которые могут быть настроены пользователем в настройках вида приложения. У кого-нибудь есть опыт в этом?

Любые мысли / предложения в вышеуказанных пунктах будут полезны. Как ссылки на собственные библиотеки для обеих платформ или любые советы других разработчиков React Native

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
77
1

Ответы 1

На мой взгляд, лучшие способы достичь желаемого:

  • Используйте https://github.com/itinance/react-native-fs для доступа к файловой системе, чтобы вы могли легко сохранить и получить доступ к логотипу, который хочет пользователь. Если изображение имеет некоторые ограничения по размеру, вы также можете сохранить строку Base64 изображения в AsyncStorage, но это не рекомендуется.
  • У вас может быть своего рода система тем, используя файл глобального стиля, который используют ваши экраны, запрошенные значения (например, «темный», «светлый» и т. д.) Могут быть сохранены в AsyncStorage.
  • Вы хотите, чтобы пользователь мог использовать свой собственный шрифт? Я не думаю, что это возможно. Если вы хотите использовать несколько шрифтов, и пользователь может выбрать, какой шрифт будет использоваться в списке, например, вы можете следовать этому руководству, чтобы установить пользовательские шрифты: https://medium.com/@kswanie21/custom-fonts-in-react-native-tutorial-for-ios-android-76ceeaa0eb78. Затем все, что вам нужно сделать, это использовать свою систему тем, чтобы выбрать fontFamily, которое будут использовать ваши текстовые элементы!

Дайте мне знать, если я недостаточно понимаю или вам нужен совет, я недавно сделал то, чего вы пытаетесь достичь :)

Другие вопросы по теме