BottomNavigation не показывает выбранные цветаAndroid

Форум для тех, кто программирует под Android
Anonymous
BottomNavigation не показывает выбранные цвета

Сообщение Anonymous »

Я новичок в Kotlin. У меня есть BottomNavigation, завернутый в Scaffold. Изменение цвета фона вкладок работает хорошо. Но хотя значки на самом деле белые, в приложении они кажутся черными, хотя я установил для selectedContentColor значение Color.White.
И unselectedContentColor в Color.White.copy(alpha = 0.7f).
Он даже не показывает, нахожусь ли я на одной вкладке или на другой. Они все остаются прежними.
Это код в моем MainActivity.kt:

Код: Выделить всё

    var selectedTab by remember { mutableIntStateOf(0) }
val tabs = listOf("Home", "Media", "Videos", "Contact")
val icons = listOf(
painterResource(id = R.drawable.ic_home),
painterResource(id = R.drawable.ic_media_link),
painterResource(id = R.drawable.ic_video_library),
painterResource(id = R.drawable.ic_account_circle)
)

Scaffold(
bottomBar = {
BottomNavigation(
backgroundColor = Color(0xff6c247c),
contentColor = Color.White
) {
tabs.forEachIndexed { index, title ->
BottomNavigationItem(
icon = { Icon(painter = icons[index], contentDescription = title) },
label = { Text(title) },
selected = selectedTab == index,
onClick = { selectedTab = index },
alwaysShowLabel = true,
selectedContentColor = Color.White,
unselectedContentColor = Color.White.copy(alpha = 0.7f)
)
}
}
}
)

{
when (selectedTab) {
0 -> HomeView()
1 -> MediaView()
2 -> VideosView()
3 -> ContactView()
}
}
И мой theme.xml

Код: Выделить всё




@color/primaryColor
@color/primaryVariantColor

@color/secondaryColor

?attr/colorPrimaryVariant





Это тоже есть в моем Theme.kt

Код: Выделить всё

package com.phela.hsmapp.ui.theme

import android.app.Activity
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.SideEffect
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.core.view.WindowCompat

private val DarkColorScheme = darkColorScheme(
primary = Purple80,
secondary = PurpleGrey80,
tertiary = Pink80
)

private val LightColorScheme = lightColorScheme(
primary = Purple40,
secondary = PurpleGrey40,
tertiary = Pink40

/* Other default colors to override
background = Color(0xFFFFFBFE),
surface = Color(0xFFFFFBFE),
onPrimary = Color.White,
onSecondary = Color.White,
onTertiary = Color.White,
onBackground = Color(0xFF1C1B1F),
onSurface = Color(0xFF1C1B1F),
*/
)

@Composable
fun HSMAppTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = true,
content: @Composable () -> Unit
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}

darkTheme -> DarkColorScheme
else -> LightColorScheme
}
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
window.statusBarColor = colorScheme.primary.toArgb()
WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
}
}

MaterialTheme(
colorScheme = colorScheme,
typography = Typography,
content = content
)
}
Что мне следует изменить?

Подробнее здесь: https://stackoverflow.com/questions/785 ... en-colours

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