网站首页 > 技术文章 正文
最近用MPAndroidChart做饼图的时候要求在饼图中间添加对应的文字,且文字要不同大小和不同颜色。
本来是想直接用FrameLayout,然后在图标上面加TextView。虽然知道MPAndroidChart的PieChart自带添加中间文字的方法?,但是只能添加一个?,所以就想偷懒用前面说的TextView,不过后来由于TextView和饼图不是一个整体,如果饼图可以滑动就会导致在滑动过程中图和文字分离?。
? ?为了解决文字分离的问题,最终还是决定使用PieChart自带的方法,为了做到需求的多颜色,不同文字大小不同的要求,可以使用SpannableStringBuilder,下面就是?代码:
... ...
String up = "极好的";
String down = "57.4";
SpannableStringBuilder builder = new SpannableStringBuilder(up);
builder.setSpan(new ForegroundColorSpan(mContext.getResources().getColor(R.color.blue, null)), 0, up.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
builder.setSpan(new AbsoluteSizeSpan(80, true), 0, up.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
builder.append("\n");
builder.append(down);
builder.setSpan(new ForegroundColorSpan(mContext.getColor(R.color.red)), 0, down.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
builder.setSpan(new AbsoluteSizeSpan(36, true), 0, down.length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
// 最后记得将设置好的SpannableStringBuilder塞入PieChart
pieChart.setCenterText(builder);
... ...
- 上一篇: 加工中心PMC编程实用案例4:手轮倍率
- 下一篇: 有了这些库,Android 开发效率提升好几倍
猜你喜欢
- 2024-12-08 我用Python的Seaborn库,绘制了17个超好看图表
- 2024-12-08 让人抓狂的游戏迷宫,锁妖塔、神魔之井、草海曾让我有轻生的念头
- 2024-12-08 分析 Android 耗电原理后,飞书是这样做耗电治理的
- 2024-12-08 有了这些库,Android 开发效率提升好几倍
- 2024-12-08 加工中心PMC编程实用案例4:手轮倍率
- 2024-12-08 8421编码开关如何使用,请看这里
- 2024-12-08 微信视频号,最后的风口
- 2024-12-08 又发现3个超好用的抠图神器!完全免费无需注册,打开就能用
- 2024-12-08 3分钟学会程序员“面试回答规范”,不怕找不到工作的里面请
- 2024-12-08 潍坊一高校连续五年摘得国赛“移动互联网应用软件开发”金牌
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)