fix: fixed color picker
This commit is contained in:
@@ -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)}"
|
||||||
|
|||||||
Reference in New Issue
Block a user