TG Telegram Group & Channel
Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck | United States America (US)
Create: Update:

📲 How to: Добавить темную тему в мобильное приложение

Проблема:
Пользователи жалуются, что ночью приложение "слепит глаза". Как добавить тёмную тему правильно?

1️⃣ Для Android (Jetpack Compose)

// 1. Определите цветовые палитры для светлой/тёмной тем
private val DarkColorPalette = darkColors(
primary = Purple200,
surface = Color.Black
)

private val LightColorPalette = lightColors(
primary = Purple500,
surface = Color.White
)

// 2. Используйте MaterialTheme с автоматическим переключением
@Composable
fun MyApp() {
val isDarkMode = isSystemInDarkTheme()
MaterialTheme(
colors = if (isDarkMode) DarkColorPalette else LightColorPalette
) {
// Ваш UI
}
}


2️⃣ Для iOS (SwiftUI)

// 1. Добавьте цветовые ассеты для об
// (в Assets.xcassets создайте Dark и Light варианты)

// 2. Используйте @Environment для автоматического переключения
struct ContentView: View {
@Environment(\.colorScheme) var colorScheme

var body: some View {
Text("Привет!")
.foregroundColor(colorScheme == .dark ? .white : .black)
}
}


3️⃣ Обязательные проверки:

🔵 Тестируйте контрастность (используйте WebAIM Contrast Checker)

🔵 Добавьте переключатель темы в настройки:

// Android (сохранение выбора в SharedPreferences)  
val prefs = remember { context.getSharedPreferences("theme", Context.MODE_PRIVATE) }
val isDarkMode = prefs.getBoolean("dark_mode", isSystemInDarkTheme())

// iOS (UserDefaults)  
UserDefaults.standard.set(true, forKey: "darkMode")


💡 Советы:

🔵 Используйте семантические цвета (primary, background), а не жёсткие HEX-значения.

🔵 Для сложных кастомных элементов создавайте отдельные стили.

🐸 Библиотека мобильного разработчика

#буст

📲 How to: Добавить темную тему в мобильное приложение

Проблема:
Пользователи жалуются, что ночью приложение "слепит глаза". Как добавить тёмную тему правильно?

1️⃣ Для Android (Jetpack Compose)

// 1. Определите цветовые палитры для светлой/тёмной тем
private val DarkColorPalette = darkColors(
primary = Purple200,
surface = Color.Black
)

private val LightColorPalette = lightColors(
primary = Purple500,
surface = Color.White
)

// 2. Используйте MaterialTheme с автоматическим переключением
@Composable
fun MyApp() {
val isDarkMode = isSystemInDarkTheme()
MaterialTheme(
colors = if (isDarkMode) DarkColorPalette else LightColorPalette
) {
// Ваш UI
}
}


2️⃣ Для iOS (SwiftUI)

// 1. Добавьте цветовые ассеты для об
// (в Assets.xcassets создайте Dark и Light варианты)

// 2. Используйте @Environment для автоматического переключения
struct ContentView: View {
@Environment(\.colorScheme) var colorScheme

var body: some View {
Text("Привет!")
.foregroundColor(colorScheme == .dark ? .white : .black)
}
}


3️⃣ Обязательные проверки:

🔵 Тестируйте контрастность (используйте WebAIM Contrast Checker)

🔵 Добавьте переключатель темы в настройки:

// Android (сохранение выбора в SharedPreferences)  
val prefs = remember { context.getSharedPreferences("theme", Context.MODE_PRIVATE) }
val isDarkMode = prefs.getBoolean("dark_mode", isSystemInDarkTheme())

// iOS (UserDefaults)  
UserDefaults.standard.set(true, forKey: "darkMode")


💡 Советы:

🔵 Используйте семантические цвета (primary, background), а не жёсткие HEX-значения.

🔵 Для сложных кастомных элементов создавайте отдельные стили.

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM


>>Click here to continue<<

Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)