Почему мой текст меняет цвет в приложении Jetpack Compose для Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему мой текст меняет цвет в приложении Jetpack Compose для Android?

Сообщение Anonymous »

Я разрабатываю приложение с помощью Jetpack Compose, в Theme.kt я импортировал и переопределил основной цвет, как показано

Код: Выделить всё

private val LightColorScheme = lightColorScheme(
primary = Primary
)
Ниже я не поддерживал динамические цвета или схему светлого/темного цвета, поскольку мне нужен просто набор цветов.

Код: Выделить всё

@Composable
fun MarkettrackerTheme(
content: @Composable () -> Unit
) {
MaterialTheme(
colorScheme = LightColorScheme,
typography = MarketTrackerTypography,
content = content
)
}
Затем все мое приложение окружено темой в MainActivity.kt, где я затем окружаю свой MainScreen.kt, который содержит Scaffold с серым цветом контейнера, панелью навигации и другими составными элементами/экранами. Когда я захожу в приложение, оно показывает текст загрузки, и в течение доли секунды он становится черным, а затем становится белым. Кроме того, когда некоторые тексты выходят за рамки композиции, они меняют цвет с черного на белый, когда я к ним возвращаюсь...

Код: Выделить всё

 setContent {
MarkettrackerTheme {
MainScreen(
onProductClick = {
NavigateAux.navigateTo(this)
}
)
}
}

Код: Выделить всё

@Composable
fun MainScreen() {
val navController = rememberNavController()
var selectedIndex by rememberSaveable { mutableIntStateOf(0) }

Scaffold(
containerColor = Grey,
bottomBar = {
// NavBar...
}
) {
NavHost(
navController = navController,
startDestination = Destination.HOME.route,
enterTransition = { fadeIn(tween(400)) },
exitTransition = { fadeOut(tween(200)) },
modifier = Modifier.padding(it)
) {
composable("home") {
PullToRefreshLazyColumn(
isRefreshing = isRefreshing,
onRefresh = {
scope.launch {
// logic to refresh products...
}
}
) {
if(isLoading) LoadingIcon()
else LazyColumn(...)
}
}
Текст, который меняется каждый раз, — это LoadingIcon:

Код: Выделить всё

 Column(
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
Image(
painter = painterResource(id = R.drawable.mt_logo),
contentDescription = "LoadingIcon",
modifier = Modifier.rotate(rotation)
)
text?.let {
Text(text = it) // this changes from black to white in almost 1s
}
}
Предварительные просмотры хорошие, а у меня версия Android 10. Мой друг говорит, что с его телефоном такого не происходит, у него версия Android 11.
Я пробовал жестко запрограммировать цвет текста, используя стили, окружая текст темой, но ничего не помогает, в течение мс он отображается черным, а затем белым.

Подробнее здесь: https://stackoverflow.com/questions/783 ... ndroid-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»