Я новичок в разработке 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
Почему компоновка Compose на эмуляторе Android отличается от предварительного просмотра? ⇐ Android
Форум для тех, кто программирует под Android
1747435844
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"
)
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79625975/why-is-the-compose-layout-on-the-android-emulator-different-than-the-preview[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия