flutter-border

简介: flutter-border

Border

继承

Object-> ShapeBorder-> BoxBorder-> Border

构造方法

很简单的构造方法,用四个BorderSide组成,

  const Border({
    this.top =BorderSide.none,
    this.right = BorderSide.none,
    this.bottom = BorderSide.none,
    this.left = BorderSide.none,
  }) : assert(top != null),
       assert(right != null),
       assert(bottom != null),
       assert(left != null);
       
factory Border.all({
    Color color = const Color(0xFF000000),
    double width = 1.0,
    BorderStyle style = BorderStyle.solid,
  }) {
    final BorderSide side = BorderSide(color: color, width: width, style: style);
    return Border.fromBorderSide(side);
  }
  
 const Border.fromBorderSide(BorderSide side)
      : assert(side != null),
        top = side,
        right = side,
        bottom = side,
        left = side;
       
BorderStyle和BorderSide
BorderStyle

枚举类,none(跳过不绘制) solid实线 虚线在哪里?

盒子边框的一面

一个边界是由四个BorderSide对象:Border.top, Border.left,Border.right和Border.bottom。请注意,将BorderSide.width设置为0.0将导致细线渲染。BorderSide.width中提供了更复杂的解释。


BorderSide
构造方法
 const BorderSide({
    this.color = const Color(0xFF000000),
    this.width = 1.0,
    this.style = BorderStyle.solid,
  }) : assert(color != null),
       assert(width != null),
       assert(width >= 0.0),
       assert(style != null);


属性
color → Color 边框颜色
style → BorderStyle 边框样式
width → double 边框宽度


BoxShadow

由盒子投下的阴影。

Object-> Shadow-> BoxShadow

构造方法
  const BoxShadow({
    Color color = const Color(0xFF000000),
    Offset offset = Offset.zero,
    double blurRadius = 0.0,
    this.spreadRadius = 0.0,
  }) : super(color: color, offset: offset, blurRadius: blurRadius);


属性
spreadRadius → double 扩展程度
blurRadius → double 模糊程度
blurSigma → double convertRadiusToSigma(blurRadius)
color → Color 阴影颜色
offset → Offset 偏移
BoxShape

渲染Border或BoxDecoration时使用的形状

如果需要对形状进行插值或动画处理,请考虑直接使用ShapeBorder子类(使用ShapeDecoration),而不是使用BoxShape和Border。该边框类不能在不同形状之间的插值。

Code
enum BoxShape {
//RoundedRectangleBorder,ShapeBorder
rectangle,
//CircleBorderm,ShapeBorder
circle,
}
BorderRadius

矩形每个角的一组不可变半径

通过使用BoxDecoration时形状是BoxShape.rectangle。

BorderRadius类根据视角指定偏移,例如 topLeft。这些值不受TextDirection的影响。要支持从左到右和从右到左布局,请考虑使用 BorderRadiusDirectional,它以相对于TextDirection(通常从环境方向性获得)的术语表示。


继承

Object->BorderRadiusGeometry->BorderRadius

Code
 const BorderRadius.all(Radius radius) : this.only(
    topLeft: radius,
    topRight: radius,
    bottomLeft: radius,
    bottomRight: radius,
  );


Radius(半径)

圆形或者椭圆

const Radius.circular(double radius) : this.elliptical(radius, radius); 圆形

const Radius.elliptical(this.x, this.y); 椭圆

相关文章
|
3月前
flutter-Decoration
flutter-Decoration
|
容器
Flutter基础widgets教程-Align篇
Flutter基础widgets教程-Align篇
109 0
【布局 widget】Flutter Align
【布局 widget】Flutter Align
97 0
【布局 widget】Flutter Align
flutter系列之:在flutter中使用流式布局
我们在开发web应用的时候,有时候为了适应浏览器大小的调整,需要动态对页面的组件进行位置的调整。这时候就会用到flow layout,也就是流式布局。 同样的,在flutter中也有流式布局,这个流式布局的名字叫做Flow。事实上,在flutter中,Flow通常是和FlowDelegate一起使用的,FlowDelegate用来设置Flow子组件的大小和位置,通过使用FlowDelegate.paintChildre可以更加高效的进行子widget的重绘操作。今天我们来详细讲解flutter中flow的使用。
flutter系列之:在flutter中使用流式布局
flutter系列之:把box布局用出花来
flutter中的layout有很多,基本上看layout的名字就知道这个layout到底是做什么用的。比如说这些layout中的Box,从名字就知道这是一个box的布局,不过flutter中的box还有很多种,今天我们来介绍最常用的LimitedBox,SizedBox和FittedBox。
flutter系列之:把box布局用出花来
|
容器
【布局 widget】 Flutter Padding
Flutter Padding 是用来给 child 在四周增加空白的 widget。实际上 Flutter 中的 margin 也是用 Padding 来实现的。
192 0
Flutter 流式布局之Wrap
Flutter 流式布局之Wrap
360 0
Flutter 流式布局之Wrap
Flutter 使用自定义字体
Flutter 使用自定义字体
280 0
Flutter 使用自定义字体
Flutter 获取屏幕宽高
Flutter 获取屏幕宽高
180 0