Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android (AChartEngine)如何设置默认缩放速率?如何设置自定义字体样式?_Android_Bar Chart_Achartengine - Fatal编程技术网

Android (AChartEngine)如何设置默认缩放速率?如何设置自定义字体样式?

Android (AChartEngine)如何设置默认缩放速率?如何设置自定义字体样式?,android,bar-chart,achartengine,Android,Bar Chart,Achartengine,我在android项目中使用AChartEngine 在实施条形图时,我有两个问题 第一个问题 这是我在模拟器上运行时的条形图 第一张照片 它似乎工作得很好,但当我按下右按钮缩放窗格中的降低缩放率按钮时,它的视图看起来更好 第二张照片 我希望图表显示如下,但我不希望每次显示图表时都单击“缩放速率”按钮。我可以设置默认的缩放速率吗?所以,当我在emulator上运行时,图表将立即显示为第二张图片 这是我的密码 XYSeries series1 = new XYSeries("Produ

我在android项目中使用AChartEngine

在实施条形图时,我有两个问题

第一个问题 这是我在模拟器上运行时的条形图

第一张照片

它似乎工作得很好,但当我按下右按钮缩放窗格中的降低缩放率按钮时,它的视图看起来更好

第二张照片

我希望图表显示如下,但我不希望每次显示图表时都单击“缩放速率”按钮。我可以设置默认的缩放速率吗?所以,当我在emulator上运行时,图表将立即显示为第二张图片

这是我的密码

    XYSeries series1 = new XYSeries("Product Name1");
series1.add(1,15);

XYSeries series2 = new XYSeries("Product Name2");
series2.add(2,35);

XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();          
dataset.addSeries(series1);
dataset.addSeries(series2);


XYSeriesRenderer renderer1 = new XYSeriesRenderer();
renderer1.setColor(Color.GREEN);
renderer1.setDisplayChartValues(true);
renderer1.setChartValuesTextSize(20);

XYSeriesRenderer renderer2 = new XYSeriesRenderer();
renderer2.setColor(Color.BLUE);
renderer2.setDisplayChartValues(true);
renderer2.setChartValuesTextSize(20);

XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
mRenderer.addSeriesRenderer(renderer1);
mRenderer.addSeriesRenderer(renderer2);

    mRenderer.setAxisTitleTextSize(16);
    mRenderer.setChartTitle(chartTitle);
    mRenderer.setChartTitleTextSize(20);
    mRenderer.setLabelsTextSize(15);
    mRenderer.setLegendTextSize(15);
    mRenderer.setAxesColor(Color.WHITE);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.BLACK);

    mRenderer.setBarSpacing(-0.7);   
    mRenderer.setZoomButtonsVisible(true);

    mRenderer.setXTitle("Product");
    mRenderer.setXLabels(0);
    mRenderer.setXAxisMin(0);
    mRenderer.setXAxisMax(3);

    mRenderer.setYTitle("Calorie (kCal)");
第二个问题 如何在图表中实现自定义字体样式(字体样式文件保存在资产文件夹中)?我只找到了这个方法,但它不起作用

mRenderer.setTextTypeface(typefaceName, style);

提前感谢:)

对于第一个问题,AChartEngine会尽可能以最佳方式拟合您的数据。但是,您可以调整此行为:

mRenderer.setXAxisMin(min);
mRenderer.setXAxisMax(max);
mRenderer.setYAxisMin(0);
mRenderer.setYAxisMax(40);

对于第二个问题,我认为您应该首先研究如何在常规Android应用程序中添加自定义字体,然后它也可以在AChartEngine中工作。

第二个问题的答案是

首先从网上下载所需字体的ttf文件, 然后创建一个名为“资产”的文件夹,在其下再创建一个文件夹“字体”, 将.ttf文件放在fonts文件夹中

然后在活动中编写以下代码:

Typeface type=Typeface.createFromAssest(getAssets(),"fonts/yourttffile.ttf");
并设置您想要的位置,比如textview

textview.setTypeface(type);

非常感谢第一个问题:D关于第二个问题,我尽了最大的努力,但我做不到。我认为延长上课时间可能有帮助,但不行;公共类CustomXYMultipleSeriesRenderer扩展XYMultipleSeriesRenderer实现可序列化的{private Context Context;private Typeface REGULAR\u TEXT\u FONT=Typeface.create(Typeface.SERIF,Typeface.NORMAL);private String mTextTypefaceName=REGULAR\u TEXT\u FONT.toString();private int mtexttypestyle=Typeface.NORMAL;public customxymultipleseriesrender(Context c){super();//TODO自动生成的构造函数存根this.Context=c;REGULAR_TEXT_FONT=Typeface.createFromAsset(Context.getAssets(),“FontName.otf”);}public void setCustomTypeFace(Typeface t){REGULAR_TEXT_FONT=t}