前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这一个flutter的ui库

这一个flutter的ui库

作者头像
用户1974410
发布2022-09-20 16:36:40
1K0
发布2022-09-20 16:36:40
举报
文章被收录于专栏:flutter开发精选

最近没更新,因为我去炒币了,结果当然是亏了很多钱。还是老老实实上班吧。

flutter的UI库

准备做一个flutter的UI库,名为stoneUI,封装一些常用的组件,方便大家使用。也为后面搭建一个框架做准备。因为没有UI设计,所以打算直接使用mobile-ant-design,如果大家有什么好的建议也可以给我留言。先放地址:https://github.com/taleStone/flutter_stone_ui.git, 目前只实现了一点功能,欢迎大家和我一起建设。

具体的功能

  1. 主题 会提供默认的主题,darkMode和lightMode,当然也支持自定义。
ColorPalette
代码语言:javascript
复制
定义了组件中一些常用的颜色,大家可以在此基础上扩展,自定义自己的主题色,目前提供深色和浅色两种。
代码语言:javascript
复制
abstract class ColorPalette {
  ///主色调
  Color primary({StoneOpacity opacity});

  Color primaryDark({StoneOpacity opacity});

  Color primaryLight({StoneOpacity opacity});

  /// 警告
  Color warning({StoneOpacity opacity});

  /// 前景色
  Color accent({StoneOpacity opacity});

  ///背景色
  Color background({StoneOpacity opacity});

  Color surfaceElevation({StoneOpacity opacity});

  Color surfaceFlat({StoneOpacity opacity});

  Color critical({StoneOpacity opacity});

  /// 标题
  Color title({StoneOpacity opacity});

  Color titleLight({StoneOpacity opacity});

  /// 禁用
  Color disable({StoneOpacity opacity});

  /// 文本
  Color text({StoneOpacity opacity});

  Color textLight({StoneOpacity opacity});

  Color success({StoneOpacity opacity});

  Color error({StoneOpacity opacity});

  Color getColor(Color color, StoneOpacity opacity) =>
      opacity == null ? color : opacity.applyForColor(color);
}
TextStyle

字体风格也可以自己定义

代码语言:javascript
复制
class StoneTextTheme extends TextTheme {
  final TextStyle cover;

  final TextStyle h0;

  final TextStyle h1;

  final TextStyle h2;

  final TextStyle h3;

  final TextStyle body;

  final TextStyle subtitle;

  final TextStyle caption;

  final TextStyle overline;

  StoneTextTheme({
    this.cover,
    this.h0,
    this.h1,
    this.h2,
    this.h3,
    this.body,
    this.subtitle,
    this.caption,
    this.overline,
  }) : super(
          headline1: cover,
          headline2: cover,
          headline3: cover,
          headline4: h0,
          headline5: h1,
          headline6: h2,
          subtitle1: h3,
          bodyText1: body,
          bodyText2: body,
          caption: caption,
          button: body,
          subtitle2: subtitle,
          overline: overline,
        );
}

主题切换

主题切换使用的bloc,当然大家也可以使用自己喜欢的状态管理实现 2. 支持哪些组件 打算根据mobile-ant-design的组件来实现

大家有什么建议,可以给我留言

点击原文链接,访问代码

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 flutter开发精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • flutter的UI库
  • 具体的功能
    • ColorPalette
      • TextStyle
      • 主题切换
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档