Я использую Compose Multiplatform 1.8.2, и в моем Commonmain у меня есть следующая композиционная функция с предварительным просмотром:
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.PreviewLightDark
import androidx.compose.ui.unit.dp
import blitz_split.feature.login.login_presentation.generated.resources.Res
import blitz_split.feature.login.login_presentation.generated.resources.blitz_split_login_art
import blitz_split.feature.login.login_presentation.generated.resources.split_screen_message
import com.blitzplit.component.logo.Logo
import com.blitzsplit.spacer.VerticalSpacer
import com.blitzsplit.theme.AppTheme
import org.jetbrains.compose.resources.painterResource
import org.jetbrains.compose.resources.stringResource
@Composable
fun LoginContent(
isLoading: Boolean,
onLoginWithGoogleClick: () -> Unit,
modifier: Modifier = Modifier,
) {
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.SpaceAround
) {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Logo(modifier = Modifier.fillMaxWidth())
VerticalSpacer()
Text(
modifier = Modifier
.padding(horizontal = 32.dp),
text = stringResource(Res.string.split_screen_message),
style = MaterialTheme.typography.bodyLarge.copy(
fontWeight = FontWeight.Bold,
color = LocalContentColor.current.copy(alpha = 0.6f)
),
textAlign = TextAlign.Center,
)
VerticalSpacer(32.dp)
Image(
painter = painterResource(Res.drawable.blitz_split_login_art),
contentDescription = "background login"
)
}
val dynamicModifier = Modifier.fillMaxWidth()
LoginWithGoogleButton(
modifier = dynamicModifier.padding(horizontal = 32.dp),
onLoginWithGoogleClick = onLoginWithGoogleClick,
isLoading = isLoading,
)
}
}
@Composable
@PreviewLightDark
private fun LoginContentPreview() {
AppTheme {
LoginContent(
isLoading = false,
onLoginWithGoogleClick = {}
)
}
}
< /code>
Правильно показывает предварительный просмотр для света и темного. Но он не показывает фон:
Если я изменю функцию предварительного просмотра на использование:
@Composable
@PreviewLightDark
@Preview(showBackground = true)
< /code>
Тогда я увижу три функции предварительного просмотра (свет без фона, темный без фона и свет с фоном). Но он не показывает мне темный фон:
Как я могу увидеть фон для темного и светового превью в составной мультипликации?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... mpose-mult
Как увидеть предварительный просмотр для композиционной темноты и света с фоном в составлении мультиплатформы? ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Поделиться доступом к ресурсам для разных платформ в составлении мультиплатформы?
Anonymous » » в форуме Android - 0 Ответы
- 70 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Поделиться доступом к ресурсам для разных платформ в составлении мультиплатформы?
Anonymous » » в форуме IOS - 0 Ответы
- 274 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как идентифицировать событие «назад» мыши в составлении мультиплатформы?
Anonymous » » в форуме Android - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-