0
HorizontalBarChart——渐变失效的解决
痞子小小崔 发表于 2020-07-28 14:46 84

PS:渐变无效其实是BUG,直到2020年1月24号才解决,而目前的3.1.0版本是在19年打包的,所以需要手动下载源码并导入项目,导入module我就不阐述了,也可以自己fork一份自己打包

源码地址:https://github.com/PhilJay/MPAndroidChart

也可以用我7月份的打包

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
dependencies {
	implementation 'com.github.pzxxc:MPAndroidChart:v3.1.1-alpha'
}

使用Fill:

import com.github.mikephil.charting.utils.Fill;
... ...
List<Fill> mGradientColors = new ArrayList<>();
... ...
BarDataSet mBarDataSet = new BarDataSet(mBarEntries, "");
mGradientColors.add(new Fill(new int[]{Color.parseColor("#FFd9ef1f"), Color.parseColor("#FFDEF723"), Color.parseColor("#00e3ff28")}));
mGradientColors.add(new Fill(new int[]{Color.parseColor("#FF0cb32f"), Color.parseColor("#FF1BD946"), Color.parseColor("#002bff5d")}));
mGradientColors.add(new Fill(new int[]{Color.parseColor("#FFb30c14"), Color.parseColor("#FFD91B36"), Color.parseColor("#00ff2b58")}));
mBarDataSet.setFills(mGradientColors);
mBarChart.setData(new BarData(mBarDataSet));
mBarChart.invalidate();

另一个BUG!!!

  • 要想有渐变效果,还需要满足2个条件: 1、不能 getAxisLeft().setEnabled(false) 2、必须 setAxisMinimum(0)
  • 想要隐藏顶部的轴体只能:
    	YAxis yAxis_top = mBarChart.getAxisLeft();
    	yAxis_top.setAxisMinimum(0);
    	yAxis_top.setDrawAxisLine(false);
    	yAxis_top.setDrawGridLines(false);
    	yAxis_top.setDrawLabels(false);
    
评论
0/240
  • 拉大锯
    标题可以改好一点,图文结合更好咯。
    2020-07-28 15:22  回复
    1153952789488054272
文章目录