mpandroidchart piechart 饼图设置默认选中

这篇博客分享了如何在Android饼图组件中设置默认选中显示最大值的步骤。作者通过初始化饼图数据,然后利用API `highlightValue` 方法,在数据设置后找到并高亮显示最大值的色块。代码示例中,`highlightValue` 的参数用于指定色块位置、数据集索引和是否触发监听事件。博客提供了具体的代码片段,帮助开发者解决此类问题。
摘要由CSDN通过智能技术生成

项目需求需要设置默认选中,搞了挺久,折腾出来一个解决方案,

在饼图初始化全部配置后,也就是最后设置data后进行修改

API:

public void highlightValue(float x, int dataSetIndex, boolean callListener) {
    highlightValue(x, Float.NaN, dataSetIndex, callListener);
}

第一个参数x为 饼图的第几个色块的下标,

dataSetIndex  :因为我只有一个饼图,这个地方就是0,

callListener:可以理解为是否触发饼图上的触摸事件,我设置了监听事件,需要在点击对应色块后,更新数据,所以就是true。

比如想要设置第二个色块默认选中放大

那就添加 highlightValue(1f,0,true)

我的需求是设置最大值默认放大。代码就是下面这样子:

pieList是暂存 PieEntry的 list

初始化饼图数据
private var pieList = ArrayList<PieEntry>()
for (item in it) {
    pieList.add(
        PieEntry(
            item.rate.replace("%", "").toFloat() / 100,
            item.channel.plus(",").plus(item.gmv).plus(",").plus(item.rate)
        )
    )
}
最后加上这段代码:
try {
    val index = pieList.indexOfFirst {
        it.y == mPieData?.dataSet?.yMax
    }
    highlightValue(index.toFloat(), 0, true)
} catch (e: Exception) {
    Logger.e("data is null or empty !!!")
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值