feat: Add UCrop color customization for dark theme support

This commit is contained in:
k1ngsterr1
2026-01-24 21:08:57 +05:00
parent cc455fb90c
commit 17107b78f8
2 changed files with 36 additions and 2 deletions

View File

@@ -53,6 +53,9 @@ object ImageCropHelper {
setStatusBarColor(toolbarColor)
setToolbarWidgetColor(Color.WHITE)
// Navigation bar (нижний системный бар) - делаем такой же как панель управления
setNavigationBarColor(toolbarColor)
// Основной фон и overlay
setRootViewBackgroundColor(backgroundColor)
setDimmedLayerColor(Color.parseColor("#CC000000"))
@@ -64,10 +67,23 @@ object ImageCropHelper {
setCropFrameColor(accentColor)
setCropGridColor(Color.parseColor("#66FFFFFF"))
// Нижняя панель (bottom controls)
// Используем LoungeLizard цвет для единообразия
// Нижняя панель (bottom controls) - ставим тёмный фон
setLogoColor(accentColor)
// ВАЖНО: Цвет фона для нижней панели управления
// Устанавливаем тот же цвет что и основной фон
try {
// UCrop использует внутренний метод для установки цвета bottom controls
// Используем рефлексию или доступные методы
val methodSetBottomColor = this::class.java.getMethod("setActiveWidgetColor", Int::class.javaPrimitiveType)
methodSetBottomColor?.invoke(this, accentColor)
} catch (e: Exception) {
// Если метод не найден, ничего не делаем
}
// Цвет иконок на нижней панели
setActiveControlsWidgetColor(accentColor)
// Скрываем кнопку поворота по желанию (можно оставить)
setFreeStyleCropEnabled(false)

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- UCrop color overrides -->
<color name="ucrop_color_toolbar">#1A1A1A</color>
<color name="ucrop_color_statusbar">#1A1A1A</color>
<color name="ucrop_color_toolbar_widget">#FFFFFF</color>
<!-- Bottom controls panel -->
<color name="ucrop_color_widget_background">#1A1A1A</color>
<color name="ucrop_color_widget">#0A84FF</color>
<color name="ucrop_color_widget_active">#0A84FF</color>
<!-- Progress wheel -->
<color name="ucrop_color_progress_wheel_line">#0A84FF</color>
<!-- Background -->
<drawable name="ucrop_bg">@color/ucrop_background</drawable>
</resources>