Anonymous
Compose Material 3 FAB отображает размытие и неправильное выравнивание.
Сообщение
Anonymous » 20 янв 2026, 19:54
Я использую последний материал 3 (пробовал как стабильную версию 1.4.0, так и 1.5.0-alpha12).
Вот мой код:
Код: Выделить всё
@Composable
private fun BookShelfScreenContent(
modifier: Modifier = Modifier,
screenState: BookShelfScreenState,
) {
Box(
modifier = modifier,
contentAlignment = Alignment.Center,
) {
Text(
text = "Book Shelf Screen",
style = MaterialTheme.typography.headlineMedium,
color = MaterialTheme.colorScheme.onSurface,
)
FloatingActionButton(
modifier = Modifier
.align(Alignment.BottomEnd)
.padding(16.dp),
onClick = { },
) {
Icon(Icons.Filled.Add, "Floating action button.")
}
}
}
Вот как это отображается при предварительном просмотре:
А в реальном приложении ситуация еще хуже:
Настройки моей темы:
Код: Выделить всё
private val DarkColorScheme = darkColorScheme(
// Primary (Blue)
primary = BrandBlue,
onPrimary = Color.White,
primaryContainer = BrandBlue.copy(alpha = 0.2f),
onPrimaryContainer = Color.White,
// Secondary (Amber/Star)
secondary = BrandAmber,
onSecondary = Color.Black, // Black text on Gold looks better
secondaryContainer = BrandAmber.copy(alpha = 0.2f),
onSecondaryContainer = BrandAmber,
// Tertiary (Red/Heart)
tertiary = BrandRed,
onTertiary = Color.White,
tertiaryContainer = BrandRed.copy(alpha = 0.2f),
onTertiaryContainer = BrandRed,
// Backgrounds & Surfaces
background = DarkBackground,
onBackground = DarkOnSurface,
surface = DarkSurface,
onSurface = DarkOnSurface,
surfaceVariant = DarkSurfaceVariant,
onSurfaceVariant = DarkOnSurfaceVariant,
outline = DarkOnSurfaceVariant.copy(alpha = 0.5f)
)
private val LightColorScheme = lightColorScheme(
// Primary (Blue)
primary = BrandBlue,
onPrimary = Color.White,
primaryContainer = BrandBlue.copy(alpha = 0.1f),
onPrimaryContainer = BrandBlue,
// Secondary (Amber/Star)
secondary = BrandAmber,
onSecondary = Color.Black,
secondaryContainer = BrandAmber.copy(alpha = 0.1f),
onSecondaryContainer = Color(0xFFB45309),
// Tertiary (Red/Heart)
tertiary = BrandRed,
onTertiary = Color.White,
tertiaryContainer = BrandRed.copy(alpha = 0.1f),
onTertiaryContainer = Color(0xFF991B1B),
// Backgrounds & Surfaces
background = LightBackground,
onBackground = LightOnSurface,
surface = LightSurface,
onSurface = LightOnSurface,
surfaceVariant = Color.White,
onSurfaceVariant = LightOnSurfaceVariant,
outline = Color(0xFFE5E7EB)
)
@Composable
fun AppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
dynamicColor: Boolean = false,
content: @Composable () -> Unit,
) {
val colorScheme = when {
dynamicColor -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}
darkTheme -> DarkColorScheme
else -> LightColorScheme
}
MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
)
}
Все остальные компоненты материала работают нормально, поэтому я не понимаю, почему FAB некорректно рендерится.
В чем может быть проблема?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... -alignment
1768928058
Anonymous
Я использую последний материал 3 (пробовал как стабильную версию 1.4.0, так и 1.5.0-alpha12). Вот мой код: [code]@Composable private fun BookShelfScreenContent( modifier: Modifier = Modifier, screenState: BookShelfScreenState, ) { Box( modifier = modifier, contentAlignment = Alignment.Center, ) { Text( text = "Book Shelf Screen", style = MaterialTheme.typography.headlineMedium, color = MaterialTheme.colorScheme.onSurface, ) FloatingActionButton( modifier = Modifier .align(Alignment.BottomEnd) .padding(16.dp), onClick = { }, ) { Icon(Icons.Filled.Add, "Floating action button.") } } } [/code] Вот как это отображается при предварительном просмотре: [img]https://i.sstatic.net/Agl1Tx8J.png[/img] А в реальном приложении ситуация еще хуже: [img]https://i.sstatic.net/QsVkMuvn.png[/img] Настройки моей темы: [code]private val DarkColorScheme = darkColorScheme( // Primary (Blue) primary = BrandBlue, onPrimary = Color.White, primaryContainer = BrandBlue.copy(alpha = 0.2f), onPrimaryContainer = Color.White, // Secondary (Amber/Star) secondary = BrandAmber, onSecondary = Color.Black, // Black text on Gold looks better secondaryContainer = BrandAmber.copy(alpha = 0.2f), onSecondaryContainer = BrandAmber, // Tertiary (Red/Heart) tertiary = BrandRed, onTertiary = Color.White, tertiaryContainer = BrandRed.copy(alpha = 0.2f), onTertiaryContainer = BrandRed, // Backgrounds & Surfaces background = DarkBackground, onBackground = DarkOnSurface, surface = DarkSurface, onSurface = DarkOnSurface, surfaceVariant = DarkSurfaceVariant, onSurfaceVariant = DarkOnSurfaceVariant, outline = DarkOnSurfaceVariant.copy(alpha = 0.5f) ) private val LightColorScheme = lightColorScheme( // Primary (Blue) primary = BrandBlue, onPrimary = Color.White, primaryContainer = BrandBlue.copy(alpha = 0.1f), onPrimaryContainer = BrandBlue, // Secondary (Amber/Star) secondary = BrandAmber, onSecondary = Color.Black, secondaryContainer = BrandAmber.copy(alpha = 0.1f), onSecondaryContainer = Color(0xFFB45309), // Tertiary (Red/Heart) tertiary = BrandRed, onTertiary = Color.White, tertiaryContainer = BrandRed.copy(alpha = 0.1f), onTertiaryContainer = Color(0xFF991B1B), // Backgrounds & Surfaces background = LightBackground, onBackground = LightOnSurface, surface = LightSurface, onSurface = LightOnSurface, surfaceVariant = Color.White, onSurfaceVariant = LightOnSurfaceVariant, outline = Color(0xFFE5E7EB) ) @Composable fun AppTheme( darkTheme: Boolean = isSystemInDarkTheme(), dynamicColor: Boolean = false, content: @Composable () -> Unit, ) { val colorScheme = when { dynamicColor -> { val context = LocalContext.current if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) } darkTheme -> DarkColorScheme else -> LightColorScheme } MaterialTheme( colorScheme = colorScheme, typography = Typography, content = content ) } [/code] Все остальные компоненты материала работают нормально, поэтому я не понимаю, почему FAB некорректно рендерится. В чем может быть проблема? Подробнее здесь: [url]https://stackoverflow.com/questions/79872180/compose-material-3-fab-renders-blurring-and-with-invalid-alignment[/url]