Анимация не работает на диаграмме AnyChart Circluar Gauge в Android

Я использую библиотеку AnyChart для Android. Я попробовал circularGauge.animation(true, 3000), но похоже, что он не работает.

Под ним фрагмент кода

fun setCircularChart(anyChartView: AnyChartView, progress_bar: ProgressBar, chartIndex: Int, data: ArrayList<Score>, chartTitle: String) {
    APIlib.getInstance().setActiveAnyChartView(anyChartView)

    val circularGauge = AnyChart.circular()

    if (data.size == 0) {
        return
    }

    anyChartView.setProgressBar(progress_bar)
    anyChartView.visibility = View.VISIBLE
    progress_bar.visibility = View.INVISIBLE

    val list = arrayListOf<Any>()
    val labels = arrayListOf<String>()
    //considering only first 3 fields here
    for (i in 0..2) {
        val progress = getNormalizedValue(data[i].value).toInt().toString()
        list.add(progress)
        labels.add(StringBuilder().append(data[i].name).append(" ").append(progress).append("%").toString())
    }

    //below data is to show the secondary progress
    list.add("100")
    list.add("100")
    list.add("100")

    circularGauge.data(SingleValueDataSet(list))
    circularGauge.fill(chartBg)
            .stroke(null)
            .padding(0.0, 0.0, 0.0, 0.0)
            .margin(100.0, 100.0, 100.0, 100.0)
    circularGauge.startAngle(0.0)
    circularGauge.sweepAngle(270.0)

    val xAxis = circularGauge.axis(0)
            .radius(100.0)
            .width(1.0)
            .fill(null as Fill?)
    xAxis.scale()
            .minimum(0.0)
            .maximum(100.0)
    xAxis.ticks("{ interval: 2 }")
            .minorTicks("{ interval: 1 }")
    xAxis.labels().enabled(false)
    xAxis.ticks().enabled(false)
    xAxis.minorTicks().enabled(false)

    circularGauge.label(0.0)
            .text(labels[0])
            .fontSize(10.0f)
            .useHtml(true)
            .hAlign(HAlign.CENTER)
            .vAlign(VAlign.MIDDLE)
    circularGauge.label(0.0)
            .anchor(Anchor.RIGHT_CENTER)
            .padding(0.0, 10.0, 0.0, 0.0)
            .height((17.0 / 2.0).toString() + "%")
            .offsetY(100.0.toString() + "%")
            .offsetX(0.0)
    val bar0 = circularGauge.bar(0.0)
    bar0.dataIndex(0.0)
    bar0.radius(100.0)
    bar0.width(radialBarWidth)
    bar0.fill(SolidFill(getColors(chartIndex)[0], 1.0))
    bar0.stroke(null)
    bar0.zIndex(5.0)
    val bar100 = circularGauge.bar(100.0)
    bar100.dataIndex(5.0)
    bar100.radius(100.0)
    bar100.width(radialBarWidth)
    bar100.fill(SolidFill(secondaryProgressColor, 1.0))
    bar100.stroke(null)
    bar100.zIndex(4.0)

    circularGauge.label(1.0)
            .text(labels[1])
            .fontSize(10.0f)
            .useHtml(true)
            .hAlign(HAlign.CENTER)
            .vAlign(VAlign.MIDDLE)
    circularGauge.label(1.0)
            .anchor(Anchor.RIGHT_CENTER)
            .padding(0.0, 10.0, 0.0, 0.0)
            .height((17.0 / 2.0).toString() + "%")
            .offsetY(80.0.toString() + "%")
            .offsetX(0.0)
    val bar1 = circularGauge.bar(1.0)
    bar1.dataIndex(1.0)
    bar1.radius(75.0)
    bar1.width(radialBarWidth)
    bar1.fill(SolidFill(getColors(chartIndex)[1], 1.0))
    bar1.stroke(null)
    bar1.zIndex(5.0)
    val bar101 = circularGauge.bar(101.0)
    bar101.dataIndex(5.0)
    bar101.radius(75.0)
    bar101.width(radialBarWidth)
    bar101.fill(SolidFill(secondaryProgressColor, 1.0))
    bar101.stroke(null)
    bar101.zIndex(4.0)

    circularGauge.label(2.0)
            .text(labels[2])
            .fontSize(10.0f)
            .useHtml(true)
            .hAlign(HAlign.CENTER)
            .vAlign(VAlign.MIDDLE)
    circularGauge.label(2.0)
            .anchor(Anchor.RIGHT_CENTER)
            .padding(0.0, 10.0, 0.0, 0.0)
            .height((17.0 / 2.0).toString() + "%")
            .offsetY(60.0.toString() + "%")
            .offsetX(0.0)
    val bar2 = circularGauge.bar(2.0)
    bar2.dataIndex(2.0)
    bar2.radius(50.0)
    bar2.width(radialBarWidth)
    bar2.fill(SolidFill(getColors(chartIndex)[2], 1.0))
    bar2.stroke(null)
    bar2.zIndex(5.0)
    val bar102 = circularGauge.bar(102.0)
    bar102.dataIndex(5.0)
    bar102.radius(50.0)
    bar102.width(radialBarWidth)
    bar102.fill(SolidFill(secondaryProgressColor, 1.0))
    bar102.stroke(null)
    bar102.zIndex(4.0)

    circularGauge.margin(20.0, 20.0, 20.0, 20.0)
    circularGauge.title()
//                .text("    '<br/><span style=\"color:#ffffff; font-size: 
12px;\">" + getTitle(chartIndex) + " < / span >")




 .text(chartTitle).fontColor("#fff")
 .hAlign(HAlign.CENTER).vAlign(VAlign.BOTTOM)
    circularGauge.title().enabled(true)
//        circularGauge.title().hAlign(HAlign.CENTER).vAlign(VAlign.BOTTOM)
    circularGauge.title()
            .padding(0.0, 0.0, 0.0, 0.0)
            .margin(0.0, 0.0, 20.0, 0.0)
    circularGauge.animation(true, 3000)
    circularGauge.background(chartBg)
    anyChartView.setChart(circularGauge)
    anyChartView.setBackgroundColor(chartBg)

}`

Вы пробовали использовать Thread?

Apuna12 27.09.2018 15:17

@ Апуна, что именно ты имеешь в виду?

Lalit Sharma 27.09.2018 15:32

Если я правильно понял, вы не можете анимировать график. Возможно, попробуйте использовать Thread для анимации. Проверить developer.android.com/guide/components/processes-and-threads

Apuna12 27.09.2018 15:35

Да, я пробовал, но все равно не работает.

Lalit Sharma 27.09.2018 15:38

Также есть схема делегирования. Тут что-то написано proandroiddev.com/…

Apuna12 27.09.2018 15:44
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
403
1

Ответы 1

К сожалению, текущая версия библиотеки AnyChart 8.3.0 и Android версии 1.0.4 не поддерживает функцию анимации для круговых датчиков.

Другие вопросы по теме