Android Glance AppWidget: Как сделать макет надежным по плотности экрана и шкалам пользовательских шрифтов?Android

Форум для тех, кто программирует под Android
Anonymous
Android Glance AppWidget: Как сделать макет надежным по плотности экрана и шкалам пользовательских шрифтов?

Сообщение Anonymous »

Я строю небольшой 1 × 1 и 3x1 (1x1 * 3) appwidget. Его макет - это вертикальный стек из трех элементов: < /p>
Top Icon - необязательный < /p>
Текст - всегда присутствовать < /p>
Нижний значок - всегда представляйте < /p>
Я хочу, чтобы этот ширину правильно отображались в различных способностях устройства и различных системах системного шрифта (настройки пользователя Font Font). В настоящее время увеличение размера шрифта системного шрифта может привести к тому, что текст вырезает или выталкивает значки на некоторых пусковых установках/устройствах.
Каков рекомендуемый способ сделать этот макет надежным до плотности + шкаф@Composable
internal fun VerticalWidget(
resId: Int,
value: Int?,
shouldShowSyncIcon: Boolean,
modifier: GlanceModifier = GlanceModifier
) {
Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier) {
if (shouldShowSyncIcon) {
Image(
modifier = modifier.size(22.dp),
provider = ImageProvider(resId = R.drawable.ic_sync),
contentDescription = null,
colorFilter = ColorFilter.tint(WidgetTheme.colors.icon)
)
}
Spacer(modifier = GlanceModifier.height(4.dp))
Text(
text = value?.toString() ?: "-",
style = TextStyle(
fontSize = 16.sp,
textAlign = TextAlign.Center,
),
)
Spacer(modifier = GlanceModifier.height(6.dp))
Image(
provider = ImageProvider(resId = resId),
contentDescription = null,
colorFilter = ColorFilter.tint(WidgetTheme.colors.icon),
modifier = GlanceModifier.size(22.dp)
)
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... nsities-an

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