MPAndroidChart自定義樣式

需求

如下圖,將左側表中的,文字描述,按照右側圖方式顯示文案信息

在這裏插入圖片描述
在這裏插入圖片描述

修改代碼如下

文件HorizontalBarChartRenderer.java中
@Override
    public void drawValues(Canvas c) {
        // if values are drawn
        if (isDrawingValuesAllowed(mChart)) {
        	...
            for (int i = 0; i < mChart.getBarData().getDataSetCount(); i++) {
            	...
                // if only single values are drawn (sum)
                if (!dataSet.isStacked()) {
                   ...
                    // if each value of a potential stack should be drawn
                } else {
                    ...
                    while (index < dataSet.getEntryCount() * mAnimator.getPhaseX()) {
                        ...
                        if (vals == null) {
                            ...
                        } else {
                            ...
                            for (int k = 0; k < transformed.length; k += 2) {
                               ...

                                if (dataSet.isDrawValuesEnabled()) {
                                    drawValue(c, formattedValue, x, y + halfTextHeight, color);
                                }
                                //新增如下代碼
                                //起始或者結束值爲0
                                if(formattedValue.trim().equals("0")){
                                   float textWidth = Utils.calcTextWidth(mValuePaint, "happy2020");
                                   //如果爲開始值爲負數,則往左側顯示文本
                                  if(vals[0]<0||vals[1]<0){
                                      //寫標題
                                        drawValue(c,"happy2020",x-textWidth-30, y,                                              Color.RED);
                                    //反之,右側顯示文本
                                    }else {
                                       drawValue(c,"happy2020",x+30, y,
                                                Color.RED);
                                    }
                                }
                             
								...

                            }
                        }
                        ...
                    }
                }

                MPPointF.recycleInstance(iconsOffset);
            }
        }
    }
發佈了93 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章