Android 阿卡捷因注释

Android 阿卡捷因注释,android,annotations,achartengine,Android,Annotations,Achartengine,无论我在哪里查找,我能找到的唯一信息是通过以下代码添加它们 series.addAnnotation("Hello!!", 1, 1); 但是,当我在代码中尝试它时(使用正确的序列名),我会收到一条错误消息,表明不支持addAnnotation。有人能帮我澄清一下吗?谢谢 您必须下载该库的最新版本。例如,从中获取夜间构建 在代码中,将最后一行(返回图表视图的那一行)替换为: 这是密码 public View getView(Context context) { String[] ti

无论我在哪里查找,我能找到的唯一信息是通过以下代码添加它们

series.addAnnotation("Hello!!", 1, 1);

但是,当我在代码中尝试它时(使用正确的序列名),我会收到一条错误消息,表明不支持addAnnotation。有人能帮我澄清一下吗?谢谢

您必须下载该库的最新版本。例如,从中获取夜间构建

在代码中,将最后一行(返回图表视图的那一行)替换为:

这是密码

public View getView(Context context) {

    String[] titles = new String[] { "2008", "2007" };
    List<double[]> values = new ArrayList<double[]>();
    values.add(new double[] { 240, 210, 60, 40 });
    values.add(new double[] { htmlHelper.grec, htmlHelper.gwhite, htmlHelper.gim, htmlHelper.gfit });
    int[] colors = new int[] { Color.rgb(255, 255, 255),
            Color.rgb(25, 25, 112) };
    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);

    switch (context.getResources().getDisplayMetrics().densityDpi) {

    /* Done*/
    case DisplayMetrics.DENSITY_XHIGH:
        renderer.setAxisTitleTextSize(29);
        renderer.setChartTitleTextSize(60);
        renderer.setLabelsTextSize(29);
        renderer.setLegendTextSize(50);
        renderer.setChartValuesTextSize(40);
        break;

    /*done*/
    case DisplayMetrics.DENSITY_HIGH:
        renderer.setAxisTitleTextSize(15);
        renderer.setChartTitleTextSize(47);
        renderer.setLabelsTextSize(19);
        renderer.setLegendTextSize(1);
        renderer.setChartValuesTextSize(40);
        break;

    case DisplayMetrics.DENSITY_LOW:
        renderer.setAxisTitleTextSize(24);
        renderer.setChartTitleTextSize(25);
        renderer.setLabelsTextSize(9);
        renderer.setLegendTextSize(10);
        renderer.setChartValuesTextSize(20);
        break;

    default:
        renderer.setAxisTitleTextSize(39);
        renderer.setChartTitleTextSize(35);
        renderer.setLabelsTextSize(20);
        renderer.setLegendTextSize(2);
        renderer.setChartValuesTextSize(40);
        break;
    }

    setChartSettings(renderer, "Gym Attendance", "", "", 0.5, 12.5, 0,
            24000, Color.BLACK, Color.BLACK);
    renderer.getSeriesRendererAt(0).setDisplayChartValues(false);
    renderer.getSeriesRendererAt(1).setDisplayChartValues(true);
    renderer.setShowLegend(false);
    renderer.setMargins(new int[] { 80, 10, 60, 10 });
    renderer.addXTextLabel(1, "Rec. Hall" + "\n" + ce);
    renderer.addXTextLabel(2, "White" + "\n" + "Building" + "\n"
            + wh);
    renderer.addXTextLabel(3, "IM" + "\n" + "Building" + "\n" + imm);
    renderer.addXTextLabel(4, "Fitness Loft" + "\n" + fi);
    renderer.setXLabelsColor(Color.rgb(0, 0, 0));
    renderer.setYLabelsColor(0, Color.BLACK);
    renderer.setYLabels(10);
    renderer.setXLabels(0);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(5);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(250);
    renderer.setAxesColor(Color.BLACK);
    renderer.setXLabelsAlign(Align.CENTER);
    renderer.setYLabelsAlign(Align.LEFT);
    renderer.setPanEnabled(false, false);
    // renderer.setZoomEnabled(false);
    renderer.setZoomRate(1.1f);
    renderer.setBarSpacing(0.5f);
    renderer.setApplyBackgroundColor(true);
    renderer.getSeriesRendererAt(1).setGradientEnabled(true);
    renderer.getSeriesRendererAt(1).setGradientStart(0,
            Color.rgb(192, 192, 192));
    renderer.getSeriesRendererAt(1).setGradientStop(45,
            Color.rgb(25, 25, 112));
    renderer.setBackgroundColor(Color.rgb(220, 220, 220));
    renderer.setMarginsColor(Color.rgb(248, 248, 255));
    renderer.setOrientation(Orientation.HORIZONTAL);
    renderer.setZoomEnabled(false, false);

    return ChartFactory.getBarChartView(context,
            buildBarDataset(titles, values), renderer, Type.STACKED);

}
public View getView(上下文){
字符串[]标题=新字符串[]{“2008”、“2007”};
列表值=新的ArrayList();
添加(新的双[]{240、210、60、40});
add(新的double[]{htmlHelper.grec,htmlHelper.gwhite,htmlHelper.gim,htmlHelper.gfit});
int[]colors=newint[]{Color.rgb(255,255,255),
rgb(25,25112)};
XYMultipleReseriesRenderer渲染器=构建渲染器(颜色);
开关(context.getResources().getDisplayMetrics().densityDpi){
/*完成*/
case DisplayMetrics.DENSITY\u XHIGH:
setAxisTitleTextSize(29);
渲染器.setChartTitleTextSize(60);
setLabelsTextSize(29);
渲染器。setLegendTextSize(50);
setChartValuesTextSize(40);
打破
/*完成*/
案例DisplayMetrics.DENSITY\u高:
setAxisTitleTextSize(15);
setChartTitleTextSize(47);
setLabelsTextSize(19);
渲染器。setLegendTextSize(1);
setChartValuesTextSize(40);
打破
案例DisplayMetrics.DENSITY\u低:
setAxisTitleTextSize(24);
渲染器.setChartTitleTextSize(25);
setLabelsTextSize(9);
渲染器。setLegendTextSize(10);
渲染器.setChartValuesTextSize(20);
打破
违约:
setAxisTitleTextSize(39);
setChartTitleTextSize(35);
setLabelsTextSize(20);
渲染器。setLegendTextSize(2);
setChartValuesTextSize(40);
打破
}
setChartSettings(渲染器,“健身房出勤率”、、、、0.5、12.5、0、,
24000,颜色。黑色,颜色。黑色);
renderer.getSeriesRenderRat(0).setDisplayChartValues(false);
renderer.getSeriesRenderRat(1).setDisplayChartValues(true);
渲染器.setShowLegend(false);
setMargins(新的int[]{80,10,60,10});
renderer.addxtlabel(1,“Rec.Hall”+“\n”+ce);
renderer.addxtlabel(2,“白色”+“\n”+“建筑”+“\n”
+wh);
renderer.addxtlabel(3,“IM”+“\n”+“Building”+“\n”+imm);
renderer.addxtlabel(4,“健身阁楼”+“\n”+fi);
setXLabelsColor(Color.rgb(0,0,0));
渲染器.setYLabelsColor(0,Color.BLACK);
1.setYLabels(10);
setXLabels(0);
setXAxisMin(0);
setXAxisMax(5);
setYAxisMin(0);
setYAxisMax(250);
渲染器.setAxesColor(Color.BLACK);
renderer.setxlabelsaling(Align.CENTER);
renderer.setYLabelsAlign(Align.LEFT);
renderer.setPanEnabled(false,false);
//renderer.setZoomeEnabled(false);
渲染器。setZoomRate(1.1f);
1.设置间距(0.5f);
renderer.setApplyBackgroundColor(true);
renderer.getSeriesRenderRat(1).setGradientEnabled(true);
renderer.GetSeriesRenderRat(1).setGradientStart(0,
rgb(192192192));
renderer.GetSeriesRenderRat(1).setGradientStop(45,
rgb(25,25112));
setBackgroundColor(Color.rgb(220,220,220));
renderer.setMarginsColor(Color.rgb(248248255));
渲染器.setOrientation(方向.水平);
renderer.setZoomeEnabled(false,false);
返回ChartFactory.getBarChartView(上下文,
buildBarDataset(标题、值)、渲染器、类型、堆叠);
}

非常感谢您的关注!起初,我有一个带有文本视图的框架布局图,但一旦我开始在不同的屏幕大小和像素密度上进行测试,它就不起作用了

我有最新版本的achartengine,但是,我的图表中没有XYseries。所以,我不知道在哪里添加注释代码:/…在下面发布,谢谢!它起作用了!!非常感谢你,我真的很感激…你就是那个人。您不知道是否可以更改批注颜色或大小,是吗?@JP409可能会晚一点,但您可以使用1.2.0设置批注格式,请参见除非存在至少具有相同X值的点,否则批注不起作用吗?或者这只是一个TimeSeries约束?
public View getView(Context context) {

    String[] titles = new String[] { "2008", "2007" };
    List<double[]> values = new ArrayList<double[]>();
    values.add(new double[] { 240, 210, 60, 40 });
    values.add(new double[] { htmlHelper.grec, htmlHelper.gwhite, htmlHelper.gim, htmlHelper.gfit });
    int[] colors = new int[] { Color.rgb(255, 255, 255),
            Color.rgb(25, 25, 112) };
    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);

    switch (context.getResources().getDisplayMetrics().densityDpi) {

    /* Done*/
    case DisplayMetrics.DENSITY_XHIGH:
        renderer.setAxisTitleTextSize(29);
        renderer.setChartTitleTextSize(60);
        renderer.setLabelsTextSize(29);
        renderer.setLegendTextSize(50);
        renderer.setChartValuesTextSize(40);
        break;

    /*done*/
    case DisplayMetrics.DENSITY_HIGH:
        renderer.setAxisTitleTextSize(15);
        renderer.setChartTitleTextSize(47);
        renderer.setLabelsTextSize(19);
        renderer.setLegendTextSize(1);
        renderer.setChartValuesTextSize(40);
        break;

    case DisplayMetrics.DENSITY_LOW:
        renderer.setAxisTitleTextSize(24);
        renderer.setChartTitleTextSize(25);
        renderer.setLabelsTextSize(9);
        renderer.setLegendTextSize(10);
        renderer.setChartValuesTextSize(20);
        break;

    default:
        renderer.setAxisTitleTextSize(39);
        renderer.setChartTitleTextSize(35);
        renderer.setLabelsTextSize(20);
        renderer.setLegendTextSize(2);
        renderer.setChartValuesTextSize(40);
        break;
    }

    setChartSettings(renderer, "Gym Attendance", "", "", 0.5, 12.5, 0,
            24000, Color.BLACK, Color.BLACK);
    renderer.getSeriesRendererAt(0).setDisplayChartValues(false);
    renderer.getSeriesRendererAt(1).setDisplayChartValues(true);
    renderer.setShowLegend(false);
    renderer.setMargins(new int[] { 80, 10, 60, 10 });
    renderer.addXTextLabel(1, "Rec. Hall" + "\n" + ce);
    renderer.addXTextLabel(2, "White" + "\n" + "Building" + "\n"
            + wh);
    renderer.addXTextLabel(3, "IM" + "\n" + "Building" + "\n" + imm);
    renderer.addXTextLabel(4, "Fitness Loft" + "\n" + fi);
    renderer.setXLabelsColor(Color.rgb(0, 0, 0));
    renderer.setYLabelsColor(0, Color.BLACK);
    renderer.setYLabels(10);
    renderer.setXLabels(0);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(5);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(250);
    renderer.setAxesColor(Color.BLACK);
    renderer.setXLabelsAlign(Align.CENTER);
    renderer.setYLabelsAlign(Align.LEFT);
    renderer.setPanEnabled(false, false);
    // renderer.setZoomEnabled(false);
    renderer.setZoomRate(1.1f);
    renderer.setBarSpacing(0.5f);
    renderer.setApplyBackgroundColor(true);
    renderer.getSeriesRendererAt(1).setGradientEnabled(true);
    renderer.getSeriesRendererAt(1).setGradientStart(0,
            Color.rgb(192, 192, 192));
    renderer.getSeriesRendererAt(1).setGradientStop(45,
            Color.rgb(25, 25, 112));
    renderer.setBackgroundColor(Color.rgb(220, 220, 220));
    renderer.setMarginsColor(Color.rgb(248, 248, 255));
    renderer.setOrientation(Orientation.HORIZONTAL);
    renderer.setZoomEnabled(false, false);

    return ChartFactory.getBarChartView(context,
            buildBarDataset(titles, values), renderer, Type.STACKED);

}