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