Merge pull request #242 from maxmoney21m/bugfix/239-select-text-scroll

Fix #239
This commit is contained in:
Vitor Pamplona
2023-03-09 13:53:17 -05:00
committed by GitHub

View File

@@ -1,11 +1,14 @@
package com.vitorpamplona.amethyst.ui.components package com.vitorpamplona.amethyst.ui.components
import androidx.compose.foundation.background import android.content.res.Configuration
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.selection.SelectionContainer import androidx.compose.foundation.text.selection.SelectionContainer
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Card import androidx.compose.material.Card
import androidx.compose.material.Divider import androidx.compose.material.Divider
import androidx.compose.material.Icon import androidx.compose.material.Icon
@@ -17,6 +20,7 @@ import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalConfiguration
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.Dialog
@@ -24,18 +28,27 @@ import com.vitorpamplona.amethyst.R
@Composable @Composable
fun SelectTextDialog(text: String, onDismiss: () -> Unit) { fun SelectTextDialog(text: String, onDismiss: () -> Unit) {
val screenHeight = LocalConfiguration.current.screenHeightDp.dp
val maxHeight =
if (LocalConfiguration.current.orientation == Configuration.ORIENTATION_PORTRAIT) {
screenHeight * 0.6f
} else {
screenHeight * 0.9f
}
Dialog( Dialog(
onDismissRequest = onDismiss onDismissRequest = onDismiss
) { ) {
Card { Card {
Column { Column(
modifier = Modifier.heightIn(24.dp, maxHeight)
) {
Row( Row(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.End horizontalArrangement = Arrangement.End
) { ) {
IconButton( IconButton(
onClick = onDismiss, onClick = onDismiss
modifier = Modifier.background(MaterialTheme.colors.background)
) { ) {
Icon( Icon(
imageVector = Icons.Default.ArrowBack, imageVector = Icons.Default.ArrowBack,
@@ -46,9 +59,13 @@ fun SelectTextDialog(text: String, onDismiss: () -> Unit) {
Text(text = stringResource(R.string.select_text_dialog_top)) Text(text = stringResource(R.string.select_text_dialog_top))
} }
Divider() Divider()
Row(modifier = Modifier.padding(16.dp)) { Column(
SelectionContainer { modifier = Modifier.verticalScroll(rememberScrollState())
Text(text) ) {
Row(modifier = Modifier.padding(16.dp)) {
SelectionContainer {
Text(text)
}
} }
} }
} }