Невозможно начать действие ComponentInfo {className} java .lang.IllegalStateException: цвета не найдены! (Android JetPack Compose) - PullRequest
0 голосов
/ 15 января 2020

Я новичок в Android Jetpack Compose, пытаюсь создать список кнопок с колонкой, но приложение падает, выдавая ошибку как

Невозможно запустить действие ComponentInfo {com.sample. composeUI / com.sample.composeUI.ui.homeScreen.HomeScreenActivity}: java .lang.IllegalStateException: цвета не найдены!

Код:

@Composable
fun homeScreenCompose() {

    Column(
        crossAxisAlignment = CrossAxisAlignment.Center,
        mainAxisAlignment = MainAxisAlignment.Center,
        modifier = Spacing(16.dp)
    ) {
        Button(
            text = "ListView", onClick = {
            }, style = ContainedButtonStyle(
                color = Color.White,
                shape = RectangleShape,
                rippleColor = Color.DarkGray,
                elevation = Dp(4f)
            ))
    }
}

Невозможно выполнить найти причину проблемы, любая помощь будет оценена.

1 Ответ

1 голос
/ 17 января 2020

Android сочетаем использование дизайна материалов внутри, чтобы обеспечить цвет и типографию для вашего взгляда. Так что вам нужно обернуть вашу функцию внутри MaterialTheme composable function.

@Composable
fun homeScreenCompose() {
    MaterialTheme {
        Column(
            crossAxisAlignment = CrossAxisAlignment.Center,
            mainAxisAlignment = MainAxisAlignment.Center,
            modifier = Spacing(16.dp)
        ) {
            Button(
                text = "ListView", onClick = {
                }, style = ContainedButtonStyle(
                    color = Color.White,
                    shape = RectangleShape,
                    rippleColor = Color.DarkGray,
                    elevation = Dp(4f)
                )
            )
        }
    }
}

Примечание: Эта ошибка возникает при использовании версии * compose 0.1.0-dev02. Это не обязательно для 0.1.0-dev03 версии.

...