MPAndroidChart fill color gradient

Okay i have found a solution:

William Chart and i am using this method:

int[] colors = { getResources().getColor(R.color.menu_text),
 getResources().getColor(android.R.color.white) };

float[] index = { 0, 1 };
dataset.setGradientFill(colors, index);

You can use the following two methods:

LineRadarDataSet#setDrawFilled(boolean isFilled); 
LineRadarDataSet#setFillDrawable(Drawable d);

Here's a link to the javadoc for that class.

This is the example from the MPAndroidChart sample project:

set1.setDrawFilled(true);
if (Utils.getSDKInt() >= 18) {
    // fill drawable only supported on api level 18 and above
    Drawable drawable = ContextCompat.getDrawable(this, R.drawable.fade_red);
    set1.setFillDrawable(drawable);
}
else {
    set1.setFillColor(Color.BLACK);
}

In fade_red.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:startColor="#00ff0000"
        android:endColor="#ffff0000" />
</shape>

Here's a sample of what it looks like on a LineChart:

a line chart with a red gradient fill


Kotlin Solution:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
    lineDataSet.setDrawFilled(true)
    val fillGradient = ContextCompat.getDrawable(requireContext(), R.drawable.red_gradient)
    lineDataSet.fillDrawable = fillGradient
}

Here is the red_gradient.xml file:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="90"
        android:startColor="#00F81616"
        android:endColor="#ffF81616" />
</shape>