网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
必要这份体系化的资料的朋侪,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技能交换、学习资源、职场吐槽、大厂内推、口试辅导),让我们一起学习成长!
利用阐明:
- 滑动屏幕,查看各图表组件。
- 点击曲线图内容,展示图表信息。
实现思路
- 健身记载部分:利用柱状图描述近七日逐日的热量消耗情况,重要实现点在于柱状图的创建过程。
- // 初始化图表配置构建类
- this.model = new BarChartModel();
- // 设置图表数据最大的绘制数,如果超过该数值,则不进行绘制图表的数值标签
- this.model.setMaxVisibleValueCount(VISIBLE_VALUE_COUNT);
- // 是否绘制图表的背景色,绘制范围为图表柱状图的绘制范围,不包含轴线之外的部分
- this.model.setDrawGridBackground(true);
- // 设置图表的背景色,颜色的规格需要满足CanvasRenderingContext2D.fillstyle/strokestyle规格
- this.model.setGridBackgroundColor(GRID_BG_COLOR);
- // 设置不绘制柱状图的柱体阴影背景
- this.model.setDrawBarShadow(false);
- // 设置柱状图的数值在柱体上方
- this.model.setDrawValueAboveBar(true);
- // 设置柱状图的高亮范围是否为整个柱体,只在堆叠柱状图中有区别
- this.model.setHighlightFullBarEnabled(true);
复制代码
- // 为左Y轴设置LimitLine,可设置限制线的宽度,线段样式,限制标签的位置,标签字体大小等
- this.limitLine = new LimitLine(STEP_TARGET_NUMBER, STEP_TARGET);
- // 设置限制线的宽度
- this.limitLine.setLineWidth(LINE_WIDTH);
- // 设置限制线虚线类型的长度
- this.limitLine.enableDashedLine(DASHED_LINE_LENGTH, DASHED_SPACE_LENGTH, ZERO);
- // 设置限制线的颜色
- this.limitLine.setLineColor(Color.Gray);
- // 设置限制线的位置
- this.limitLine.setLabelPosition(LimitLabelPosition.RIGHT_TOP);
- // 设置限制线上文本的大小
- this.limitLine.setTextSize(vp2px(TEXT_SIZE));
复制代码
- // 设置图表左Y轴信息
- this.leftAxis = this.model.getAxisLeft();
- if (this.leftAxis) {
- // 设置图表左Y轴最小值
- this.leftAxis.setAxisMinimum(ZERO);
- // 设置图表左Y轴是否在数据后绘制限制线
- this.leftAxis.setDrawLimitLinesBehindData(false);
- // 设置图表左Y轴数据的格式转换器
- this.leftAxis.setValueFormatter(new YValueFormatter());
- // 添加LimitLines
- this.leftAxis.addLimitLine(this.limitLine);
- }
- // 设置图表右Y轴信息
- this.rightAxis = this.model.getAxisRight();
- if (this.rightAxis) {
- // 设置图表右Y轴是否显示
- this.rightAxis.setEnabled(false);
- // 设置图表右Y轴最小值
- this.rightAxis.setAxisMinimum(ZERO);
- }
- // 设置X轴信息
- this.xAxis = this.model.getXAxis();
- if (this.xAxis) {
- // 设置X轴是否绘制网格线
- this.xAxis.setDrawGridLines(false);
- // 设置绘制标签个数
- this.xAxis.setLabelCount(LABEL_COUNT, false);
- //设置标签位置
- this.xAxis.setPosition(XAxisPosition.BOTTOM);
- // 设置数据的格式转换器
- this.xAxis.setValueFormatter(new XValueFormatter());
- }
复制代码
- // 生成数据
- this.data = this.getNormalData();
- // TODO 知识点:将数据与图表配置类绑定
- this.model.setData(this.data);
复制代码
- 康健数据部分:利用曲线图展示逐日的热量消耗情况,重要实现点在于曲线图的创建过程。
- // 初始化图表配置构建类
- this.model = new LineChartModel();
- this.model.setPinchZoom(false);
- this.model.setDrawGridBackground(false);
复制代码
- // 设置X轴信息
- this.xAxis = this.model.getXAxis();
- if (this.xAxis) {
- //设置标签位置
- this.xAxis.setPosition(XAxisPosition.BOTTOM);
- // 设置X轴是否绘制网格线
- this.xAxis.setDrawGridLines(true);
- this.xAxis.setGranularity(1);
- // 设置数据的格式转换器
- this.xAxis.setValueFormatter(new XValueFormatter());
- // 设置绘制标签个数
- this.xAxis.setLabelCount(10);
- this.xAxis.enableGridDashedLine(2, 2, 0);
- }
- // 设置图表左Y轴信息
- this.leftAxis = this.model.getAxisLeft();
- if (this.leftAxis) {
- this.leftAxis.setLabelCount(4, true);
- this.leftAxis.setDrawGridLines(true);
- // 设置图表左Y轴是否在数据后绘制限制线
- this.leftAxis.setDrawGridLinesBehindData(true);
- this.leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);
- this.leftAxis.setAxisMinimum(0);
- // 设置图表左Y轴数据的格式转换器
- this.leftAxis.setValueFormatter(new YValueFormatter());
- this.leftAxis.setEnabled(true);
- this.leftAxis.enableGridDashedLine(2, 2, 0);
- }
- // 设置图表右Y轴信息
- this.rightAxis = this.model.getAxisRight();
- if (this.rightAxis) {
- // 设置图表右Y轴是否显示
- this.rightAxis.setEnabled(false);
- }
复制代码
- // 获取图表图例部件,设置图表图例部件不可用
- let legend: Legend | null = this.model.getLegend();
- if (legend) {
- legend.setEnabled(true);
- // 设置图例类型
- legend.setForm(LegendForm.LINE);
- // 设置图例文本大小
- legend.setTextSize(vp2px(14));
- // 设置图例方向为水平
- legend.setOrientation(LegendOrientation.HORIZONTAL);
- // 设置图例垂直对齐方式为顶部
- legend.setVerticalAlignment(LegendVerticalAlignment.TOP);
- // 设置图例水平对齐方式为左对齐
- legend.setHorizontalAlignment(LegendHorizontalAlignment.LEFT);
- }
复制代码
- // 生成数据
- this.lineData = this.getLineData();
- // TODO 知识点:将数据与图表配置类绑定
- this.model.setData(this.lineData);
复制代码 高性能知识点
不涉及
工程结构&模块类型
- health // 运动健康场景实践案例
- |---model
- | |---BasicDataSource.ets // 数据类型文件
- |---view
- | |---BarCharts.ets // 柱状图组件
- | |---MpCharts.ets // 图表列表页面
- | |---LineCharts.ets // 曲线图组件
复制代码 模块依赖
@ohos/routermodule(动态路由)")
末了
有很多小伙伴不知道学习哪些鸿蒙开发技能?不知道必要重点掌握哪些鸿蒙应用开发知识点?而且学习时频仍踩坑,终极浪费大量时间。以是有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习黑白常有须要的。
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的焦点知识要点,内容包含了(**ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony****多媒体技能、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)**技能知识点。
深知大多数程序员,想要提升技能,往往是自己探索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技能故步自封!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比力多,这里只是将部分目次截图出来,全套包含大厂面经、学习笔记、源码课本、实战项目、大纲路线、讲解视频,并且后续会持续更新
必要这份体系化的资料的朋侪,可以戳这里获取
图片转存中…(img-Ms8r5Xe1-1715811700142)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比力多,这里只是将部分目次截图出来,全套包含大厂面经、学习笔记、源码课本、实战项目、大纲路线、讲解视频,并且后续会持续更新
必要这份体系化的资料的朋侪,可以戳这里获取
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |