fix: fixed color picker
This commit is contained in:
@@ -2,6 +2,7 @@ package ru.omni_devel.cards
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.os.Bundle
|
||||
import android.widget.Toast
|
||||
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.PaddingValues
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxHeight
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
import androidx.compose.material3.Button
|
||||
@@ -37,6 +40,7 @@ import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalConfiguration
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
@@ -93,6 +97,10 @@ class SelectColorActivity : ComponentActivity() {
|
||||
@Composable
|
||||
fun EditColorPage(innerPadding: PaddingValues, currentColor: String?) {
|
||||
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) }
|
||||
|
||||
@@ -104,14 +112,27 @@ fun EditColorPage(innerPadding: PaddingValues, currentColor: String?) {
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier.verticalScroll(rememberScrollState()),
|
||||
verticalArrangement = Arrangement.spacedBy(8.dp)
|
||||
verticalArrangement = Arrangement.spacedBy(8.dp),
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
HsvColorPicker(
|
||||
modifier = Modifier
|
||||
var colorPickerModifier = Modifier
|
||||
.padding(10.dp)
|
||||
|
||||
if (isPortrait) {
|
||||
colorPickerModifier = colorPickerModifier
|
||||
.fillMaxWidth()
|
||||
.height(450.dp)
|
||||
.padding(10.dp),
|
||||
initialColor = currentColor?.let { Color(it.toColorInt()) },
|
||||
} else {
|
||||
val size = screenHeight * 0.5f
|
||||
|
||||
colorPickerModifier = colorPickerModifier
|
||||
.height(size)
|
||||
.width(size)
|
||||
}
|
||||
|
||||
HsvColorPicker(
|
||||
modifier = colorPickerModifier,
|
||||
initialColor = color?.let { Color(it.toColorInt()) },
|
||||
controller = colorPickerController,
|
||||
onColorChanged = { colorEnvelope: ColorEnvelope ->
|
||||
color = "#${colorEnvelope.hexCode.substring(2)}"
|
||||
|
||||
Reference in New Issue
Block a user