Как вызвать функцию @Composable из DrawScope в Jetpack Compose? ⇐ Android
-
Гость
Как вызвать функцию @Composable из DrawScope в Jetpack Compose?
Я рисую гистограмму. Я хочу нарисовать в конце полосы загрузки списка анимацию (как отдельную функцию), но не могу вызвать функцию @Composable. Ошибка:
@Компонируемые вызовы могут происходить только в контексте @Компонуемая функция
@Composable забавная диаграмма( модификатор: Модификатор = Модификатор, модель: BarData ) { Столбец (модификатор = модификатор) { Холст( модификатор = Модификатор .вес(1f) .fillMaxWidth() ) { радиус вала = 45f val (paidBarHeight, incomingBarHeight) = ComputeBarsHeights( платныйRatioAnim, входящийRatioAnim, размер ) если(!model.isLoading) { Rotate(180f, Pivot = size.center) { drawRoundRect( цвет = ChartBackgroundGreyColor, размер = size.copy(высота = incomingBarHeight), angularRadius = CornerRadius(радиус, радиус) ) drawRoundRect( цвет = ChartBasicGreenColor, размер = size.copy(высота = payBarHeight), angularRadius = CornerRadius(радиус, радиус) ) } } еще { //КАК НАРИСОВАТЬ ПОЛОСКУ ЗАГРУЗКИ } } }
Я рисую гистограмму. Я хочу нарисовать в конце полосы загрузки списка анимацию (как отдельную функцию), но не могу вызвать функцию @Composable. Ошибка:
@Компонируемые вызовы могут происходить только в контексте @Компонуемая функция
@Composable забавная диаграмма( модификатор: Модификатор = Модификатор, модель: BarData ) { Столбец (модификатор = модификатор) { Холст( модификатор = Модификатор .вес(1f) .fillMaxWidth() ) { радиус вала = 45f val (paidBarHeight, incomingBarHeight) = ComputeBarsHeights( платныйRatioAnim, входящийRatioAnim, размер ) если(!model.isLoading) { Rotate(180f, Pivot = size.center) { drawRoundRect( цвет = ChartBackgroundGreyColor, размер = size.copy(высота = incomingBarHeight), angularRadius = CornerRadius(радиус, радиус) ) drawRoundRect( цвет = ChartBasicGreenColor, размер = size.copy(высота = payBarHeight), angularRadius = CornerRadius(радиус, радиус) ) } } еще { //КАК НАРИСОВАТЬ ПОЛОСКУ ЗАГРУЗКИ } } }
Мобильная версия