Почему компоновка Compose на эмуляторе Android отличается от предварительного просмотра?Android

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

Сообщение Anonymous »

Я новичок в разработке Android, и я работаю над курсами на веб -сайте разработчиков Google. Я как -то не могу объяснить, почему предварительный просмотр экрана выглядит нормально, но когда я запускаюсь на эмуляторе или на настоящий Pixel 8 Pro, экран не выпускается так же. < /P>
может кто -нибудь помочь? Спасибо.class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
ComposeBusinessCardTheme {
Scaffold(
modifier = Modifier.fillMaxSize(),
containerColor = colorResource(R.color.teal_200)
) { innerPadding ->
BusinessCard(
name = "Android",
title = "Android Dev",
phoneNumber = "(999) 555-6666",
emailAddress = "email@example.com",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}

@Composable
fun BusinessCard(
name: String,
title: String,
phoneNumber: String,
emailAddress: String,
modifier: Modifier = Modifier
) {
Box {
Column(modifier = modifier.fillMaxHeight(), verticalArrangement = Arrangement.Center) {
NameAndTitle(name = name, title = title, modifier = modifier)
}
Column(
modifier = modifier
.fillMaxHeight()
.fillMaxWidth()
.padding(vertical = 32.dp),
verticalArrangement = Arrangement.Bottom,
horizontalAlignment = Alignment.CenterHorizontally
) {
Contacts(phoneNumber = phoneNumber, emailAddress = emailAddress, modifier = modifier)
}
}
}

@Composable
fun NameAndTitle(name: String, title: String, modifier: Modifier) {
val androidLogo = painterResource(R.drawable.android_logo)
Column(
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
modifier = modifier.fillMaxWidth()
) {
Image(
painter = androidLogo,
contentDescription = null,
modifier = Modifier
.background(
colorResource(R.color.black)
)
.fillMaxWidth(0.3f)

)
Text(text = name, fontSize = 50.sp)
Text(text = title, fontSize = 20.sp, fontWeight = FontWeight.Bold)
}
}

@Composable
fun Contacts(phoneNumber: String, emailAddress: String, modifier: Modifier) {
Column {
ContactLine(text = phoneNumber, icon = Icons.Rounded.Phone, modifier = modifier)
ContactLine(text = emailAddress, icon = Icons.Rounded.Email, modifier = modifier)
}
}

@Composable
fun ContactLine(text: String, icon: ImageVector, modifier: Modifier) {
Row(modifier = modifier) {
Icon(
imageVector = icon,
contentDescription = null,
tint = colorResource(R.color.teal_700),
modifier = modifier.weight(3f)
)
Text(text = text, modifier = modifier.weight(5f))
}
}

@Preview(showBackground = true)
@Composable
fun BusinessCardPreview() {
ComposeBusinessCardTheme {
BusinessCard(
name = "Android",
title = "Android Dev",
phoneNumber = "(999) 555-6666",
emailAddress = "email@example.com"
)
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... he-preview
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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