Compose Material 3 FAB отображает размытие и неправильное выравнивание.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Compose Material 3 FAB отображает размытие и неправильное выравнивание.

Сообщение Anonymous »

Я использую последний материал 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
Ответить

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

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

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

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

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