【问题标题】:Android AChartEngine - Unable to change textColor in pie chartAndroid AChartEngine - 无法更改饼图中的 textColor
【发布时间】:2014-01-14 21:32:35
【问题描述】:

我正在使用 aChartEngine 绘制饼图。我需要更改饼图的每个文本颜色。有没有可能的方法来实现这一点。任何链接都会有所帮助

【问题讨论】:

    标签: android achartengine


    【解决方案1】:

    http://www.achartengine.org/content/javadoc/index.html

    在类 DefaultRenderer 中有一个方法 setLabelsColor(int color) 但它改变了整个标签的颜色,所以我认为你应该尝试在库源代码中编辑它。

    【讨论】:

      【解决方案2】:

      不,你不能设置不同的颜色,你必须编辑库

      将这些函数放入DefaultRenderer

       private int[] mLabelsColors = {TEXT_COLOR};
      
      public int[] getLabelsColors() {
          return mLabelsColors;
        }
      
       public void setLabelsColors(int[] col) {
          // TODO Auto-generated method stub
          mLabelsColors = col;
        }
      

      PieChart 中做类似的事情,但要注意数组的大小

        if(i==0)
            drawLabel(canvas, mDataset.getCategory(i), mRenderer, prevLabelsBounds, mCenterX, mCenterY,
                shortRadius, longRadius, currentAngle, angle, left, right, mRenderer.getLabelsColors()[0],
                paint, true, false);
            if(i==1)
              drawLabel(canvas, mDataset.getCategory(i), mRenderer, prevLabelsBounds, mCenterX, mCenterY,
                  shortRadius, longRadius, currentAngle, angle, left, right, mRenderer.getLabelsColors()[1],
                  paint, true, false);
      
            if(i==2)
              drawLabel(canvas, mDataset.getCategory(i), mRenderer, prevLabelsBounds, mCenterX, mCenterY,
                  shortRadius, longRadius, currentAngle, angle, left, right, mRenderer.getLabelsColors()[2],
                  paint, true, false);
      
            if(i==3)
              drawLabel(canvas, mDataset.getCategory(i), mRenderer, prevLabelsBounds, mCenterX, mCenterY,
                  shortRadius, longRadius, currentAngle, angle, left, right, mRenderer.getLabelsColors()[3],
                  paint, true, false);
      

      你在哪里创建chard使用

      int Col[] ={Color.BLACK,Color.BLUE,Color.CYAN,Color.GREEN,Color.RED};
      
          mRenderer.setLabelsColors(Col);
      

      【讨论】:

        【解决方案3】:

        这就是我所做的。

        我从 http://achartengine.googlecode.com/svn/trunk/ 编辑了 aChartEngine 代码库。我对 drawLabel(...) 方法进行了一些更改以满足我的要求

        【讨论】:

          【解决方案4】:

          您需要维护下面link中提到的一组颜色

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多