美文网首页
组件装饰和视觉效果

组件装饰和视觉效果

作者: 追风筝的Hassan | 来源:发表于2020-02-10 17:03 被阅读0次
  • Opacity(透明度处理)
  • DecoratedBox(装饰盒子)
  • RotateBox旋转盒子
  • Clip(剪裁处理)
  • 自定义面板案例

不透明度示例

import 'package:flutter/material.dart';

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Opacity不透明示例'),
      ),
      body: new Center(
        child: new Opacity(
          opacity: 0.3, //不透明度设置为0.3
          child: new Container(
            width: 250.0,
            height: 100.0,
            decoration: new BoxDecoration(
              color: Colors.black, //背景色设置为纯黑
            ),
            child: Text(
              '不透明度为0.3',
              style: TextStyle(
                color: Colors.white,
                fontSize: 28.0,
              ),
            ),
          ),
        ),
      ),
    );
  }
}

void main() {
  runApp(new MaterialApp(
    title: 'Opacity不透明示例',
    home: new LayoutDemo(),
  ));
}

DecoratedBox装饰盒子---添加背景图片

import 'package:flutter/material.dart';

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('BoxDecoration装饰盒子背景图示例'),
      ),
      body: new Center(
        child: Container(
          width: 300.0,
          height: 300.0,
          decoration: BoxDecoration(
            color: Colors.grey,
            image: DecorationImage(
              image: ExactAssetImage('images/2.0x/2.jpg'),
              fit: BoxFit.cover, //填充类型
            ),
          ),
        ),
      ),
    );
  }
}

void main() {
  runApp(new MaterialApp(
    title: 'BoxDecoration装饰盒子背景图示例',
    home: new LayoutDemo(),
  ));
}

DecoratedBox装饰盒子---边框圆角处理

import 'package:flutter/material.dart';

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('BoxDecoration装饰盒子边框示例'),
      ),
      body: new Center(
        child: Container(
          width: 300.0,
          height: 300.0,
          decoration: BoxDecoration(
            color: Colors.white,
            //添加所有的边框,处理颜色为灰色,宽度4.0
            border: Border.all(color: Colors.grey, width: 4.0),
            //添加边框弧度,这样会有一个圆弧效果
            borderRadius: BorderRadius.circular(36.0),
            image: DecorationImage(
              image: ExactAssetImage('images/2.0x/2.jpg'),
              fit: BoxFit.cover, //填充类型
            ),
          ),
        ),
      ),
    );
  }
}
void main() {
  runApp(new MaterialApp(
    title: 'BoxDecoration装饰盒子边框示例',
    home: new LayoutDemo(),
  ));
}

边框阴影示例

import 'package:flutter/material.dart';

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('BoxDecoration装饰盒子背景图示例'),
      ),
      body: new Center(
        child: Container(
          width: 300.0,
          height: 300.0,
          decoration: BoxDecoration(
            color: Colors.white,
            //边框阴影效果
            boxShadow: <BoxShadow>[
              new BoxShadow(
                color: Colors.grey, //阴影颜色
                blurRadius: 8.0, //模糊值
                spreadRadius: 8.0, //扩展阴影半径
                offset: Offset(-1.0, 1.0),
              ),
            ],
          ),
          child: Text(
            'BoxShow引用效果',
            style: TextStyle(
              color: Colors.black,
              fontSize: 28.0,
            ),
          ),
        ),
      ),
    );
  }
}
void main() {
  runApp(new MaterialApp(
    title: 'BoxDecoration---边框阴影示例',
    home: new LayoutDemo(),
  ));
}
线性渐变效果
import 'package:flutter/material.dart';

class LayoutDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('LinearGradient线性渐变效果'),
      ),
      body: new Center(
        child: new DecoratedBox(
          decoration: new BoxDecoration(
            gradient: new LinearGradient(
              begin: const FractionalOffset(0.5, 0.0), //起始偏移量
              end: const FractionalOffset(1.0, 1.0), //终止偏移量
              //渐变颜色数据集
              colors: <Color>[
                Colors.red,
                Colors.green,
                Colors.blue,
                Colors.grey,
              ],
            ),
          ),
          child: new Container(
            width: 280.0,
            height: 280.0,
            child: new Center(
              child: Text(
                'LinearGradient线性渐变效果',
                style: TextStyle(
                  color: Colors.black,
                  fontSize: 28.0,
                ),
              ),
            ),
          ),
        ),
      ),
    );
  }
}

void main() {
  runApp(new MaterialApp(
    title: 'LinearGradient线性渐变效果',
    home: new LayoutDemo(),
  ));
}

相关文章

网友评论

      本文标题:组件装饰和视觉效果

      本文链接:https://www.haomeiwen.com/subject/nrkaactx.html