怎么在颤振中利用加密自定义形状

  介绍

这篇文章将为大家详细讲解有关怎么在颤振中利用加密自定义形状,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强> ClipOval圆形裁剪

ClipOval (   ,孩子:SizedBox (   ,,宽度:120.0,   ,,高度:120.0,   ,,孩子:Image.asset (   ,,Config.assets_avatar_1,   ),才能   ,),   );

<>强CircleAvatar圆形头像

CircleAvatar (   ,半径:60.0,   ,backgroundImage: AssetImage (   Config.assets_avatar_1才能,   ,),   );

<>强容器装饰装饰形状

<强>通过BoxShape。圆实现圆形图片

容器(   ,宽度:120.0,   ,高度:120.0,   装饰:大敌;BoxDecoration (   形状:才能,BoxShape.circle,   ,,图片:DecorationImage (   ,,,图片:AssetImage (   ,,,Config.assets_avatar_1,   ,,),   ),才能   ,)   );

<>强通过BorderRadius实现圆形图片

容器(   ,宽度:120.0,   ,高度:120.0,   装饰:大敌;BoxDecoration (   ,,borderRadius: BorderRadius.all (Radius.circular (60.0)),   ,,,图片:DecorationImage (   ,,,的形象:,AssetImage (   ,,,,Config.assets_avatar_1,   ,,,),   ,,),   ,),   )

<>强ClipPath路径剪裁

ClipPath (   ,加密:TriangleClipper (ClipperPosition.LeftTop),   ,孩子:容器(   ,,宽度:16.0,   ,,高度:16.0,   装饰:,BoxDecoration(才能   ,,,颜色:Colors.blue,   ),才能   ,),   );      enum  ClipperPosition  {   LeftTop,   RightTop,   }      class  TriangleClipper  extends  CustomClipper< Path>, {   ,final  ClipperPosition 位置;   ,TriangleClipper (this.position);      ,@override   ,Path  getClip (Size 大小),{   final 才能;path =,路径();   path.lineTo才能(0.0,0.0);   if 才能;(position ==, ClipperPosition.LeftTop), {   ,,path.lineTo(宽度,0.0);   ,,path.lineTo(宽度,size.height);   ,,},else  if  (position ==, ClipperPosition.RightTop), {   ,,path.lineTo(宽度,0.0);   ,,path.lineTo (0.0,, size.height);   ,,}   path.close才能();   return 才能;路径;   ,}      ,@override   ,bool  shouldReclip (CustomClipper  oldClipper), {   return 才能;假;   ,}   }

<>强ClipRect矩形剪裁

容器(   ,对齐:Alignment.topCenter,   ,颜色:Colors.transparent,   ,孩子:容器(   颜色:,Colors.green,才能   ,,孩子:ClipRect (   ,,,快船:_RectClipper (20.0),   ,,,孩子:Image.asset (   ,,,Config.assets_avatar_1,   ,,,宽度:,160.0,   ,,,身高:,160.0,   ,,,适合:,BoxFit.fill,   ,,),   ),才能   ,),   );      class  _RectClipper  extends  CustomClipper< Rect>, {   ,///Remove  side  of 大小   ,final  double  removeSize;   ,   ,_RectClipper (this.removeSize);   ,   ,@override   ,Rect  getClip (Size 大小),{   return 才能;new  Rect.fromLTRB (   ,,removeSize,   ,,removeSize,   ,,size.width 安康;removeSize,   ,,size.height 安康;removeSize,   ,,);   ,}   ,   ,@override   ,bool  shouldReclip (CustomClipper

<>强ClipRRect圆角矩形剪裁

ClipRRect (   ,borderRadius: BorderRadius.all (Radius.circular (16.0)),   ,孩子:Image.asset (   Config.assets_avatar_1才能,   ,,适合:BoxFit.fill,   ,,宽度:120.0,   ,,高度:120.0,   ,),   );

<>强星级(CustomPaint)评分控件

<强>评分控件界面图

<强>实现方案

使用CustomPaint结合ClipPath画出单个五角星;

<李>

使用堆栈渲染两层画面

<李>

背景层,一排灰色五角星,前景层,一排亮色五角星,并使用ClipRect截取一定宽度

<强>实现代码

class  StarRatingDemo  extends  StatefulWidget  {   ,@override   ,_StarRatingDemoState  createState(),=祝辞,_StarRatingDemoState ();   }      class  _StarRatingDemoState  extends  State< StarRatingDemo>, {   ,///ClipPath  Star 评级   ,_buildClipPathStarRating (double ,, int 计数),{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在颤振中利用加密自定义形状