Flutter入门(41):Flutter 组件之 Card 详解

1. 基本介绍

Card 是 flutter 提供的一个卡片组件,提供了圆角和阴影,实际用途其实和 Container 差不多。Flutter 组件之 Container 详解

2. 示例代码

代码下载地址。如果对你有帮助的话记得给个关注,代码会根据我的 Flutter 专题不断更新。

3. Card 属性介绍

Card 属性 介绍
color 卡片背景色
shadowColor 阴影颜色
elevation 阴影高度
shape 形状 BorderShape
borderOnForeground 是否在 child 前绘制 border,默认为 true
margin 外边距
clipBehavior 裁剪方式
child 子控件
semanticContainer 是否使用新的语义节点,默认为 true。语义这个东西用途没有那么大,不用太过在意,在看页面层级的Debug 模式下组件展示方式会按照设置的语义标签展示。

4. Card 详解

Card 就是个容器,用途和 Container 很像,这里就不多赘述了,直接上代码。

import 'package:flutter/material.dart';

class FMCardVC extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(title: Text("Card"),),
      body: _listView(),
    );
  }
  
  ListView _listView(){
    return ListView(
      padding: EdgeInsets.all(30),
      children: [
        _normalCard(),
        Padding(padding: EdgeInsets.all(30)),
        _shapeCard()
      ],
    );
  }
  
  Card _normalCard(){
    return Card(
      color: Colors.red, // 背景色
      shadowColor: Colors.yellow, // 阴影颜色
      elevation: 20, // 阴影高度
      borderOnForeground: false, // 是否在 child 前绘制 border,默认为 true
      margin: EdgeInsets.fromLTRB(0, 50, 0, 30), // 外边距

      child: Container(
        width: 100,
        height: 100,
        alignment: Alignment.center,
        child: Text("Noraml Card", style: TextStyle(color: Colors.white),),
      ),
    );
  }
  
  Card _shapeCard(){
    return Card(
      color: Colors.red, // 背景色
      shadowColor: Colors.yellow, // 阴影颜色
      elevation: 20, // 阴影高度
      borderOnForeground: false, // 是否在 child 前绘制 border,默认为 true
      margin: EdgeInsets.fromLTRB(0, 50, 0, 30), // 外边距

      // 边框
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(40),
        side: BorderSide(
          color: Colors.yellow,
          width: 3,
        ),
      ),

      child: Container(
        width: 100,
        height: 100,
        alignment: Alignment.center,
        child: Text("Shape Card", style: TextStyle(color: Colors.white),),
      ),
    );
  }
}
Card.png

5. 技术小结

Card 其实就是 Container 带了一个默认的圆角和阴影,没有太多属性。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容