From 9d6c0e55b57004fec181d2efcec982e4edbc786a Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 20 Jan 2025 10:08:34 +0800 Subject: [PATCH] Fix UI for Android TTS Engine. (#1735) Set max number of lines of the input text field so that the buttons are still visible when the input text is long. --- .../java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt b/android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt index 18a89f93cf..c96f9f0efc 100644 --- a/android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt +++ b/android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt @@ -22,7 +22,9 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.Button import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme @@ -109,6 +111,7 @@ class MainActivity : ComponentActivity() { var rtfText by remember { mutableStateOf("") } + val scrollState = rememberScrollState(0) val numSpeakers = TtsEngine.tts!!.numSpeakers() if (numSpeakers > 1) { @@ -142,9 +145,11 @@ class MainActivity : ComponentActivity() { value = testText, onValueChange = { testText = it }, label = { Text("Please input your text here") }, + maxLines = 10, modifier = Modifier .fillMaxWidth() .padding(bottom = 16.dp) + .verticalScroll(scrollState) .wrapContentHeight(), singleLine = false, )