Использование пользовательских видов с Jetpack Compose - PullRequest
0 голосов
/ 31 января 2020

Предположим, я использую некоторую библиотеку, которая предназначена для предоставления некоторых виджетов пользовательского интерфейса. Допустим, эта библиотека предоставляет виджет кнопки с именем FancyButton.

. С другой стороны, у меня есть новый проект, созданный с помощью Android Studio 4, который позволяет мне создавать новый проект с Empty Compose Activity.

Вопрос: Как мне добавить FancyButton в стек просмотра? Возможно ли это? Или с Jetpack Compose я могу использовать только компоненты, которые были разработаны специально для Jetpack Compose. В этом случае AFAIK я мог бы использовать только Android компоненты Standars (Text, MaterialTheme, et c).

Если я попытаюсь использовать что-то вроде этого:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        MaterialTheme {
            Greeting("Android")
            FancyButton(context, "Some text")
        }
    }
}

тогда я получаю эту ошибку:

e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath.

1 Ответ

3 голосов
/ 31 января 2020

В настоящее время (по состоянию на 0.1.0-dev04) нет хорошего решения для этого. В будущем вы сможете просто назвать его как FancyButton("Some text") (без context необходимо).

Вы можете увидеть демонстрацию того, как это будет выглядеть в коде Compose здесь .

...