DataRenderer 中进行修改
绘制各个点的值,可以增加图片。 项目中是应用在绘制图表中各个点的天气图标
图标可以用Matrix 进行旋转等操作。
public void drawValue(Canvas c, ValueFormatter formatter, float value, Entry entry, int dataSetIndex, float x, float y) {
if (entry.getWeather() != null && entry.getWeather().equals("°")) {
c.drawText(formatter.getFormattedValue(value, entry, dataSetIndex, mViewPortHandler) + "°", x, y, mValuePaint);
}else if (entry.getWeather() != null && entry.getWeather().equals("low")) {
c.drawText(formatter.getFormattedValue(value, entry, dataSetIndex, mViewPortHandler) + "°", x, y, mValuePaint);
}
else if (entry.getWeather() != null && !entry.getWeather().equals("°") && !isNumber(entry.getWeather().replaceAll("\\.",""))) {
if (!mLastWeather.equals(entry.getWeather())) {
Matrix m = new Matrix();
if (entry.getWeather().equals("sky is clear") || entry.getWeather().equals("晴")) {
// 增加图片
bitmap = BitmapFactory.decodeResource(context.getResources(),
R.drawable.w_sunshine_s);
// m.preRotate(190, (float)bitmap.getWidth()/2, (float)bitmap.getHeight()/2); //要旋转的角度
m.postTranslate(x- bitmap.getWidth()/2 , y - bitmap.getHeight());
c.drawBitmap(bitmap, m, mValuePaint);
}
}
}