【发布时间】:2015-11-17 02:29:13
【问题描述】:
我可以画一个如图中的lineChart吗?如果可以,我应该怎么做才能改变线条颜色?谢谢!
我画的看起来像图片二,线条是相同的颜色,没有昨天的incom。我应该怎么做才能把线条变成渐变色,只显示最后一个markerView?
【问题讨论】:
-
向我们展示您的尝试?
-
您的问题解决了吗?我收到了同样的要求
我可以画一个如图中的lineChart吗?如果可以,我应该怎么做才能改变线条颜色?谢谢!
我画的看起来像图片二,线条是相同的颜色,没有昨天的incom。我应该怎么做才能把线条变成渐变色,只显示最后一个markerView?
【问题讨论】:
我找到了解决方法! 请检查这个tutorial by Lance Gleason. 这很简单。这是其中的一些代码:
@Override
public void onStart() {
super.onStart();
getView().post(new Runnable() {
@Override
public void run() {
setupGradient(chartDaySpeed);
}
});
}
private void setupGradient(LineChart mChart) {
Paint paint = mChart.getRenderer().getPaintRender();
int height = mChart.getHeight();
LinearGradient linGrad = new LinearGradient(0, 0, 0, height,
getResources().getColor(android.R.color.holo_green_light),
getResources().getColor(android.R.color.holo_red_light),
Shader.TileMode.REPEAT);
paint.setShader(linGrad);
}
结果如下:
【讨论】:
line,我可以用渐变填充图形下方的区域吗?
setupGradient() 来确保 getHeight() 不会返回 0。您可以通过添加 OnGlobalLayoutListener 来做到这一点。