渐变颜色到 MPAndroid 条形图

Gradient Color to MPAndroid Barchart

我想为 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 的 Right Side YAxis 标签。但它会动态变化到接近最小值的点,我的意思是,如果我的最小结果是 6 den,它会跳过 6

以下的数字

但这不是我想要的。我希望我的结果如下所示:

尝试以下代码,它可能足够接近:

 Paint mPaint = barChart.getRenderer().getPaintRender(); mPaint.setShader(new   
  SweepGradient(350,120,Color.parseColor("#FFF212"),Color.parseColor("#FCE121")));

试试下面的方法,你会得到更好的结果。

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));

新版本支持渐变-

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() 函数