【问题标题】:change color of just one domain label - Android Plot仅更改一个域标签的颜色 - Android Plot
【发布时间】:2013-12-19 21:24:35
【问题描述】:

我使用 android plot 创建了一个条形图。

我希望在单击一个栏后,其匹配的域标签会改变颜色。

我知道如何设置所有域标签颜色。使用:

 plot.getGraphWidget().getDomainLabelPaint().setColor(Color.WHITE);

但我想更改一个标签的颜色。

我的域名步骤是:

 plot.setDomainStep(XYStepMode.INCREMENT_BY_VAL, 1);

我用这个改变了域的格式:

  plot.setDomainValueFormat(new Format() {

        @Override
        public StringBuffer format(final Object obj,
                final StringBuffer toAppendTo, final FieldPosition pos) {
            final int index = ((Number) obj).intValue();
            return new StringBuffer("").append((char) (index + 'A'));
        }

        @Override
        public Object parseObject(final String string,
                final ParsePosition position) {
            return null;
        }

    });

我有两个想法(我没有做到):

1) 我可以通过扩展 Format 类(在上述方法中)来更改域标签字符串的颜色吗? 或者 2)我可以在现有的域标签之上再画一组域标签吗?(那会是不同的颜色)

还有其他方法吗?

【问题讨论】:

    标签: android plot androidplot


    【解决方案1】:

    Androidplot 的下一个版本将包含一个新类和几个可用于完成此任务的新方法。目前,here's a development build 包含此新功能。新类是 com.androidplot.util.Mapping,感兴趣的新方法将添加到 com.androidplot.xy.XYGraphWidget。它们是:

    public void setDomainLabelPaintMap(Mapping<Paint, Number> domainLabelPaintMap)
    public void setRangeLabelPaintMap(Mapping<Paint, Number> rangeLabelPaintMap)
    

    以下是如何使用它们的简单示例:

    plot.getGraphWidget().setRangeLabelPaintMap(new Mapping<Paint, Number>() {
    
        private Paint customPaint;
    
        {
            // configure Paint instances either programmatically
            // (as shown here) or use Configurator to initialize via XML.
            customPaint = new Paint();
            customPaint.setColor(Color.RED);
        }
    
        @Override
        public Paint get(Number number) {
            if(number.doubleValue() > 1) {
                return customPaint;
            }
            return null;
        }
    });
    

    【讨论】:

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