使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题

最近在使用MPAndroidChart遇到一个设置X轴值格式是yyyy-mm-dd,设置倾斜显示。偶现出现x轴显示不全问题,,经过仔细观察发现只有第一个值是1结尾的时候回出现显示不全问题

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第1张图片

 如上图第一个和第三个是1结尾的时候显示全的,,其他都有轻微遮盖。当第一个x轴tab不是1结尾的时候则不会出现显示不全问题。于是开始看源码。然后找到了XAxisRenderer这个类有个computeSize()用于计算x轴tab的宽度。其中有段代码

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第2张图片

 看代码可以源码是取最长的一个tab来计算宽度。然后在computeSize()下断点。测试在x轴tab结尾1和不是1的宽度计算

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第3张图片

 

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第4张图片

 经过断点可以看到2018-09-11和2018-09-13计算的宽度分别为145,149。应该和绘制文字的需要的宽度仅仅是能包裹文本的宽度有关。。找到原因了然后重写该类代码做修改

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第5张图片

 重写了该类后然后在LineChart的父类BarLineChartBase中看到

使用MPAndroidChart图标遇到的坑-X轴文字显示不全问题_第6张图片

然后我们就可以重写LineChart加上

 替换我们重写后的方法。。到此就解决了显示不全问题

你可能感兴趣的:(坑记录)