Support for RTL in both TextFields and TextViews.

This commit is contained in:
KotlinGeekDev
2023-01-25 18:59:52 +01:00
committed by KotlinGeek
parent 542bd485d0
commit 74b0dd3b44
6 changed files with 24 additions and 5 deletions

View File

@@ -16,7 +16,9 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
@@ -79,7 +81,8 @@ fun NewChannelView(onClose: () -> Unit, account: Account, channel: Channel? = nu
},
keyboardOptions = KeyboardOptions.Default.copy(
capitalization = KeyboardCapitalization.Sentences
)
),
textStyle = TextStyle(textDirection = TextDirection.Content)
)
Spacer(modifier = Modifier.height(15.dp))
@@ -113,6 +116,7 @@ fun NewChannelView(onClose: () -> Unit, account: Account, channel: Channel? = nu
keyboardOptions = KeyboardOptions.Default.copy(
capitalization = KeyboardCapitalization.Sentences
),
textStyle = TextStyle(textDirection = TextDirection.Content),
maxLines = 10
)

View File

@@ -36,7 +36,9 @@ import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import androidx.compose.ui.window.DialogProperties
@@ -153,7 +155,8 @@ fun NewPostView(onClose: () -> Unit, baseReplyTo: Note? = null, account: Account
unfocusedBorderColor = Color.Transparent,
focusedBorderColor = Color.Transparent
),
visualTransformation = UrlUserTagTransformation(MaterialTheme.colors.primary)
visualTransformation = UrlUserTagTransformation(MaterialTheme.colors.primary),
textStyle = TextStyle(textDirection = TextDirection.Content)
)
val userSuggestions = postViewModel.userSuggestions

View File

@@ -6,6 +6,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
import com.google.accompanist.flowlayout.FlowRow
@@ -69,7 +71,7 @@ fun RichTextViewer(content: String, tags: List<List<String>>?, navController: Na
} else if (tagIndex.matcher(word).matches() && tags != null) {
TagLink(word, tags, navController)
} else {
Text(text = "$word ")
Text(text = "$word ", style = TextStyle(textDirection = TextDirection.Content))
}
}
}

View File

@@ -18,7 +18,9 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.navigation.NavController
@@ -64,7 +66,8 @@ fun ChatroomCompose(baseNote: Note, accountViewModel: AccountViewModel, navContr
Text(
"${channel.info.name}",
fontWeight = FontWeight.Bold,
modifier = it
modifier = it,
style = TextStyle(textDirection = TextDirection.Content)
)
Text(
" Public Chat",
@@ -152,7 +155,8 @@ fun ChannelName(
channelLastContent,
color = MaterialTheme.colors.onSurface.copy(alpha = 0.52f),
maxLines = 1,
overflow = TextOverflow.Ellipsis
overflow = TextOverflow.Ellipsis,
style = TextStyle(textDirection = TextDirection.Content)
)
else
Text(

View File

@@ -37,9 +37,11 @@ import androidx.compose.ui.platform.ClipboardManager
import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@@ -116,6 +118,7 @@ fun ChannelScreen(channelId: String?, accountViewModel: AccountViewModel, accoun
color = MaterialTheme.colors.onSurface.copy(alpha = 0.32f)
)
},
textStyle = TextStyle(textDirection = TextDirection.Content),
trailingIcon = {
PostButton(
onPost = {

View File

@@ -24,8 +24,10 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.input.KeyboardCapitalization
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.style.TextDirection
import androidx.compose.ui.unit.dp
import androidx.lifecycle.viewmodel.compose.viewModel
import androidx.navigation.NavController
@@ -86,6 +88,7 @@ fun ChatroomScreen(userId: String?, accountViewModel: AccountViewModel, navContr
color = MaterialTheme.colors.onSurface.copy(alpha = 0.32f)
)
},
textStyle = TextStyle(textDirection = TextDirection.Content),
trailingIcon = {
PostButton(
onPost = {