第二百六十八回

2024-01-16 08:28
文章标签 八回 二百六十

本文主要是介绍第二百六十八回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 概念介绍
  • 实现方法
  • 示例代码

我们在上一章回中介绍了跟手指移动的小球相关的内容,本章回中将介绍自定义组件.闲话休提,让我们一起Talk Flutter吧。

概念介绍

在项目中有些内容无法通过现有的组件来实现,因此需要自定义组件,自定义组件通常分为两大类:组合已经有的组件形成新的组件,重新绘制组件。组合已经有的组件我
们没有专门介绍过,不过有类似的内容,比如前面章回中实现的阴影就可以看作是通过组合已经有的组件形成新的组件,它组合了Text和BoxShadow组件,形成了带阴影
的文字组件。我们在本章回中主要介绍的是重新绘制组件。

实现方法

重新绘制组件需要使用两个组件:CustomPaint组件和CustomPainter组件,因此我们首先介绍一下这两个组件:
CustomPainte组件相当于是一个画布,它主要用来创建画布,它提供了size属性来控制画布的大小,CustomPainter组件相当于画笔,组件中需要的内容主要通过它
来实现,它是一个抽象类,我们需要实现它的Paint()方法,所有绘制的内容都是在这个方法中完成的。绘制组件时创建画笔对象,并且把它赋值给画布的painter属性,
这样就把画笔和画布关联在了一起。

示例代码

CustomPaint(painter: RockerPainter(outerRadius,Colors.blue),size: Size(100,100),
),class RockerPainter extends CustomPainter{///offset表示圆的圆心与(0,0)的偏移距离,其值等于半径final Color _color;final double radius = size;Offset _offset = Offset.zero;RockerPainter( this.radius,this._color);///参数中的size就是包含类的CustomPaint中指定的sizevoid paint(Canvas canvas,Size size) {Paint paint = Paint()..color = _color..strokeCap = StrokeCap.round..isAntiAlias = true..strokeWidth = 2.0;///圆的半径由参数指定_offset = Offset(radius, radius);///画圆:第一个参数指定Offset,表示圆的左上角为基准进行偏移而不是以圆心为基准canvas.drawCircle(_offset,radius,paint);}bool shouldRepaint(covariant CustomPainter oldDelegate) {// TODO: implement shouldRepaintreturn true;}
}

我们在上面的示例代码中,自定义了个圆形,圆形的大小和颜色可以通过参数指定。该代码中结合了综合使用了CustomPaint组件和CustomPainter组件。编译并且
运行上面的程序,可以看到一个半径为100的蓝色圆形,我在这里就演示程序的运行结果了,建议大家自己动手去实践。
看官们,与"自定义组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第二百六十八回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611916

相关文章

二百六十、Java——采集Kafka数据,解析成一条条数据,写入另一Kafka中(复杂JSON)

一、目的 由于部分数据类型频率为1s,从而数据规模特别大,因此完整的JSON放在Hive中解析起来,尤其是在单机环境下,效率特别慢,无法满足业务需求。 而Flume的拦截器并不能很好的转换数据,因为只能采用Java方式,从Kafka的主题A中采集数据,并解析字段,然后写入到放在Kafka主题B中 二 、原始数据格式 JSON格式比较复杂,对象中包含数组,数组中包含对象 {     "de

美学心得(第二百六十六集) 罗国正

美学心得(第二百六十六集) 罗国正 (2024年8月) 3223、现代戏曲理论家、作家吴梅,是江苏苏州市人,曾任多所名牌大学教授,在戏曲理论研究上,成绩卓著,他的主要美学观点如下: 1、他认为戏曲先应有“真”,再有风趣。 2、“真所以补风化,趣所以动观听”。 3、剧的唯一宗旨在“美”。 4、“乐府亡而词兴,词兴而曲作”。 5、元剧多用北词,明人多用南曲。 6、元剧以拙朴胜,明

美学心得(第二百六十集) 罗国正

美学心得(第二百六十集) 罗国正 (2024年4月)   3110、近代文学家陈衍,诗宗盛唐,是同光派主要诗人和理论家,他的主要美学观点如下: 1、“合学人,诗人之诗二而一之”。 2、“诗人、学人二者,非肆力兼致,不足薄风骚、副雅材”。 3、“作诗文要有真实怀抱、真实道理、真实本领”。 4、“诗之为道,易能而难精,工力未至,往往侪伍时辈,菲能相尚也。然所贵乎为诗者,非必蕲于相尚也,

美学心得(第二百六十一集) 罗国正

美学心得(第二百六十一集) 罗国正 (2024年4月)   3120、                            对蔡元培的人生轨迹和美学的思考 罗国正 (2024年4月于广州)   推动中国现代历史发展的巨人——蔡元培,他的动人事绩和卓越功勋、博大精彩的人生,值得人们思考、学习、研究。在他的有生之年,几乎当时中国所有优秀人物都受过他直接或间接的影响,其中大量的杰出的领

C++之双向链表与哈希链表用法区别实例(二百六十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行

C++之结构体初始化10种写法总结(二百六十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android系统攻城狮 1

一起Talk Android吧(第三百零八回:程序的主题)

各位看官们,大家好,上一回中咱们说的是Android中控件风格的例子,这一回咱们说的例子是程序的主题。闲话休提,言归正转。让我们一起Talk Android吧! 看官们,程序的主题也叫theme,它类似于上一章回中介绍的style,它也是属性的集合,不过这里的属性是Android系统自己定义的属性,这些属性主要用在程序中或者Activity中,接下来我们详细介绍主题。 创建theme

第三百五十八回

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 013pickers2.gif 我们在上一章回中介绍了"如何实现Numberpicker"相关的内容,本章回中将介绍wheelChoose组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的wheelChooser是一个三方包,它

第三百零八回

文章目录 1. 概念介绍2. 实现方法2.1 文字信息2.2 红色边框 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现密码输入框"相关的内容,本章回中将介绍如何在在输入框中提示错误.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回介绍的内容还与输入框有关,输入框仍然使用TextField组件实现。我们主要介绍如何在输入框中提示

第二百六十五回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Flutter中如何使用三方包相关的内容,本章回中将介绍Widget的生命周期.闲话休提,让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的生命周期是指Widget从创建到结果的整个过程,这里提到的Widget是一个泛称,更加准确的说是StatefulWidget,因为StatelessWidget没有具