fix: fixed color picker

This commit is contained in:
2026-06-21 15:25:05 +03:00
parent df95702247
commit 464094e6cb
@@ -2,6 +2,7 @@ package ru.omni_devel.cards
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import android.content.res.Configuration
import android.os.Bundle import android.os.Bundle
import android.widget.Toast import android.widget.Toast
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
@@ -16,10 +17,12 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.Button import androidx.compose.material3.Button
@@ -37,6 +40,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@@ -93,6 +97,10 @@ class SelectColorActivity : ComponentActivity() {
@Composable @Composable
fun EditColorPage(innerPadding: PaddingValues, currentColor: String?) { fun EditColorPage(innerPadding: PaddingValues, currentColor: String?) {
val activityContext = LocalActivity.current val activityContext = LocalActivity.current
val configuration = LocalConfiguration.current
val screenHeight = configuration.screenHeightDp.dp
val isPortrait = configuration.orientation == Configuration.ORIENTATION_PORTRAIT
var color by rememberSaveable { mutableStateOf(currentColor) } var color by rememberSaveable { mutableStateOf(currentColor) }
@@ -104,14 +112,27 @@ fun EditColorPage(innerPadding: PaddingValues, currentColor: String?) {
) { ) {
Column( Column(
modifier = Modifier.verticalScroll(rememberScrollState()), modifier = Modifier.verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.spacedBy(8.dp) verticalArrangement = Arrangement.spacedBy(8.dp),
horizontalAlignment = Alignment.CenterHorizontally
) { ) {
HsvColorPicker( var colorPickerModifier = Modifier
modifier = Modifier .padding(10.dp)
if (isPortrait) {
colorPickerModifier = colorPickerModifier
.fillMaxWidth() .fillMaxWidth()
.height(450.dp) .height(450.dp)
.padding(10.dp), } else {
initialColor = currentColor?.let { Color(it.toColorInt()) }, val size = screenHeight * 0.5f
colorPickerModifier = colorPickerModifier
.height(size)
.width(size)
}
HsvColorPicker(
modifier = colorPickerModifier,
initialColor = color?.let { Color(it.toColorInt()) },
controller = colorPickerController, controller = colorPickerController,
onColorChanged = { colorEnvelope: ColorEnvelope -> onColorChanged = { colorEnvelope: ColorEnvelope ->
color = "#${colorEnvelope.hexCode.substring(2)}" color = "#${colorEnvelope.hexCode.substring(2)}"