Я экспериментирую с композицией и пытаюсь воспроизвести макет профиля в Твиттере. Предполагается, что оно должно выглядеть как изображение профиля, расположенное в правом нижнем углу фонового изображения, и имя внизу.
Чтобы совместить фон и изображение профиля, я попробовал использовать Box. Рядом с моим ящиком находится текст. Я заключаю их в столбец для вертикального расположения. Почему мое фоновое изображение отображает левое и правое поля, а поле и изображение используют fillMaxWidth()
@OptIn(ExperimentalGlideComposeApi::class)
@Composable
fun TwitterProfile(user: User) {
Column {
Box(
modifier = Modifier
.height(220.dp)
.fillMaxWidth()
) {
Image(
painter = painterResource(id = R.drawable.header_image),
contentDescription = "Header Image",
modifier = Modifier.fillMaxWidth()
)
// needed for padding because GlideImage lacks margin attribute
Box(
modifier = Modifier
.fillMaxWidth()
.padding(end = 15.dp, top = 130.dp),
contentAlignment = Alignment.TopEnd
) {
GlideImage(
contentScale = ContentScale.Crop,
model=user.avatarUrl,
contentDescription = selected.fullname,
modifier = Modifier
.clip(CircleShape)
.size(120.dp)
.border(
2.dp, MaterialTheme.colorScheme.primary,
CircleShape
)
)
}
}
Text(user.fullname)
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ed-padding
Коробка содержит нежелательное дополнение ⇐ Android
Форум для тех, кто программирует под Android
1731377494
Anonymous
Я экспериментирую с композицией и пытаюсь воспроизвести макет профиля в Твиттере. Предполагается, что оно должно выглядеть как изображение профиля, расположенное в правом нижнем углу фонового изображения, и имя внизу.
Чтобы совместить фон и изображение профиля, я попробовал использовать Box. Рядом с моим ящиком находится текст. Я заключаю их в столбец для вертикального расположения. Почему мое фоновое изображение отображает левое и правое поля, а поле и изображение используют fillMaxWidth()
@OptIn(ExperimentalGlideComposeApi::class)
@Composable
fun TwitterProfile(user: User) {
Column {
Box(
modifier = Modifier
.height(220.dp)
.fillMaxWidth()
) {
Image(
painter = painterResource(id = R.drawable.header_image),
contentDescription = "Header Image",
modifier = Modifier.fillMaxWidth()
)
// needed for padding because GlideImage lacks margin attribute
Box(
modifier = Modifier
.fillMaxWidth()
.padding(end = 15.dp, top = 130.dp),
contentAlignment = Alignment.TopEnd
) {
GlideImage(
contentScale = ContentScale.Crop,
model=user.avatarUrl,
contentDescription = selected.fullname,
modifier = Modifier
.clip(CircleShape)
.size(120.dp)
.border(
2.dp, MaterialTheme.colorScheme.primary,
CircleShape
)
)
}
}
Text(user.fullname)
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79179601/box-contains-unwanted-padding[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия