我想将自定义渐变用于MPAndroid条形图。我已经制作了我的自定义可绘制颜色如下:
<item android:id="@android:id/progress">
<clip
android:clipOrientation="vertical"
android:gravity="bottom">
<shape>
<gradient
android:startColor="#00AEEE"
android:centerColor="#0086CA"
android:endColor="#315AA6"
android:angle="90" />
</shape>
</clip>
</item>
我尝试将其分配到我的条形图,如下所示: barDataSet.setColor(R.drawable.gradient_color); 另一个问题是我想显示0-10.9的右侧YAxis标签。但它会动态变化到接近最小值的点,我的意思是说,如果我的最小结果是6 den,它会跳过6以下的数字
答案 0 :(得分:2)
尝试以下可能足够接近的代码:
Paint mPaint = barChart.getRenderer().getPaintRender(); mPaint.setShader(new
SweepGradient(350,120,Color.parseColor("#FFF212"),Color.parseColor("#FCE121")));
答案 1 :(得分:2)
尝试以下方法,您将获得更好的结果。
paint.setShader(new LinearGradient(0,0,0,10,new int[]{Color.parseColor("#00AEEE"),Color.parseColor("#0086CA"),Color.parseColor("#315AA6")},new float[]{0,2,2}, Shader.TileMode.CLAMP));
答案 2 :(得分:1)
新版本支持渐变-
val barDataSet = BarDataSet(entries, "Days")
val startColor =
ContextCompat.getColor(requireContext(), R.color.colorPrimary)
val endColor = ContextCompat.getColor(requireContext(),
R.color.colorPrimaryDark)
barDataSet.setGradientColor(startColor, endColor)
如果您想使用更多渐变,只需创建一个 GradientColor 列表并将其传递给 barDataSet.setGradientColors() 函数