Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何在Flutter应用程序中创建不同的渐变[Flutter专题20]

如何在Flutter应用程序中创建不同的渐变[Flutter专题20]

作者头像
徐建国
发布于 2021-12-22 03:48:41
发布于 2021-12-22 03:48:41
5K00
代码可运行
举报
文章被收录于专栏:个人路线个人路线
运行总次数:0
代码可运行

大家好。我是坚果,如果你迷惘,不妨看看码农的轨迹

Flutter 可用于创建漂亮的 UI。因此,在今天的文章中,我们将看到如何在应用程序中创建不同的渐变

开始吧

第 1 步: 创建一个新的 Flutter 应用程序。

第 2 步: 对于渐变,我们必须使用Container小部件,其中我们将拥有 BoxDecoration 属性,这将允许我们为我们的应用程序创建渐变。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Container(

            height: 300,

            width: 300,

            decoration: BoxDecoration(

              gradient: 

            ),

          ),

现在我们在 Flutter 中有不同类型的渐变

  • SweepGradient:创建一个扇形渐变。
  • LinearGradient:创建线性渐变。
  • RadialGradius:创建放射状渐变。

对于Sweep Gradient,您可以像这样使用它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Container(
              height: 300,
              width: 300,
              decoration: BoxDecoration(
                  gradient: SweepGradient(
                      colors: [Colors.green, Colors.lightBlue, Colors.red])),
            ),

对于放射状渐变,您可以像这样使用它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  Container(
              height: 300,
              width: 300,
              decoration: BoxDecoration(
                  gradient: RadialGradient(
                      colors: [Colors.red, Colors.blue, Colors.green])),
            ),

对于线性渐变, 您可以像这样使用它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 Container(
              height: 300,
              width: 300,
              decoration: BoxDecoration(
                  gradient: LinearGradient(
                      colors: [Colors.deepOrange, Colors.yellow.shade300])),
            ),

第 3 步: 现在要更改渐变的对齐方式,您可以在 BoxDecoration 的渐变属性中使用 AlignmentGeometry begin = Alignment.centerLeft, AlignmentGeometry end = Alignment.centerRight。

例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
decoration: BoxDecoration(

                gradient: LinearGradient(

                    begin: Alignment.centerLeft,

                    end: Alignment.centerRight,

                    colors: [Colors.deepOrange, Colors.yellow.shade300])),

在 Flutter 中创建渐变的完整示例代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import 'package:flutter/material.dart';

import 'package:flutter/services.dart';

import 'package:scroll_snap_list/scroll_snap_list.dart';

 

void main() {

  runApp(MyApp());

}

 

class MyApp extends StatelessWidget {

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

      debugShowCheckedModeBanner: false,

      home: Demo(),

      theme: ThemeData(

        brightness: Brightness.dark,

      ),

    );

  }

}

 

class Demo extends StatelessWidget {

  const Demo({Key? key}) : super(key: key);

 

  @override

  Widget build(BuildContext context) {

    return Scaffold(

        appBar: AppBar(

          title: const Text('Gradients'),

        ),

        body: Center(

          child: Container(

            height: 300,

            width: 300,

            decoration: BoxDecoration(

                gradient: LinearGradient(

                    begin: Alignment.centerLeft,

                    end: Alignment.centerRight,

                    colors: [Colors.deepOrange, Colors.yellow.shade300])),

          ),

        ));

  }

}

输出:

img

img

结论: 通过这种方式,我们学习了如何在 Flutter 中获得不同类型的渐变。

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

本文分享自 坚果前端 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Flutter 专题】118 图解特殊利器 ShaderMask 着色器
和尚在尝试把图片做成黑白色时,了解到 ShaderMask 这个利器,今天和尚简单学习和尝试一下;
阿策小和尚
2021/04/02
9140
Flutter基础widgets教程-OverflowBox篇
1 OverflowBox 对其子项施加不同约束的widget,它可能允许子项溢出父级 2 构造函数 OverflowBox({ Key key, this.alignment = Alignment.center, this.minWidth, this.maxWidth, this.minHeight, this.maxHeight, Widget child, }) 3 常用属性 3.1 alignment:对齐方式 alignment:Alig
青年码农
2020/10/16
3.2K0
Flutter基础widgets教程-OverflowBox篇
Flutter基础widgets教程-SizedOverflowBox篇
1 SizedOverflowBox SizedOverflowBox主要的布局行为有两点: 1 尺寸部分。通过将自身的固定尺寸,传递给child,来达到控制child尺寸的目的;undefined 2 超出部分。可以突破父节点尺寸的限制,超出部分也可以被渲染显示,与OverflowBox类似。 2 构造函数 SizedOverflowBox({ Key key, @required this.size, this.alignment = Alignment.center,
青年码农
2020/10/20
1.1K0
Flutter基础widgets教程-SizedOverflowBox篇
Flutter自定义组件-MultiShower
1. 先说需求 Flutter中有多如牛毛的控件,控件有多如牛毛的属性,属性又有多如牛毛的枚举或静态常量 是不是想想都头皮发麻,TM这么多我怎么玩。在思考如何玩转属性,然后便有此文。 本文你
张风捷特烈
2020/04/30
7950
Flutter自定义组件-MultiShower
Flutter 中渐变的高级用法
玄奘(602年~664年),唐代著名高僧,法相宗创始人,洛州缑氏(今河南洛阳偃师)人,其先颍川人,俗家姓名“陈祎(yī)”,法名“玄奘”,被尊称为“三藏法师”,后世俗称“唐僧”,与鸠摩罗什、真谛并称为中国佛教三大翻译家。
老孟Flutter
2020/09/11
1.4K0
Flutter 中渐变的高级用法
Flutter基础widgets教程-Transform篇
1 Transform 在绘制子widget之前应用转换的widget 2 构造函数 Transform({ Key key, @required this.transform, this.origin, this.alignment, this.transformHitTests = true, Widget child, }) 3 常用属性 3.1 origin:指定子组件做平移、旋转、缩放时的中心点 origin: Offset(50, 50), 3.2
青年码农
2020/10/22
1.1K0
Flutter基础widgets教程-Transform篇
Flutter Widgets 之 Opacity 和AnimatedOpacity
Flutter中移除一个控件非常容易,只需要在重新创建中移除即可,如果想要移除控件同时它的位置依然保留,类似于Android中View的invisible,比如Row中有3个颜色块,分别为1、2、3,代码如下:
老孟Flutter
2020/09/11
8180
Flutter lesson 5: Flutter组件之基础组件(一)
说明:在介绍Widget的出后可能会涉及到一些属性,例如 Color, EdgeInsets等等。我会在其中穿插的说明,以后遇到这样的问题就不会再次说明。
踏浪
2019/07/31
2.2K0
Flutter lesson 5: Flutter组件之基础组件(一)
深入理解 Flutter 鸿蒙版的 Stack 布局:适配屏幕与层叠样式布局
在 Flutter 中,布局是构建用户界面的基础。今天,我们将重点探讨 Flutter 的 Stack 布局,了解如何使用它创建复杂的界面元素,并实现响应式设计,以适应不同屏幕大小的设备。
淼学派对
2024/11/04
1870
flutter基础布局代码
骨灰级别的基础代码,只是做个简单的记录,方便以后看 都是用dart写的,都在flutter项目下的lib文件夹下 import 'package:flutter/material.dart'; import './tomFont.dart'; void main() { runApp( MaterialApp( theme: ThemeData( primarySwatch: Colors.yellow, ), home: Scaffold(
Tom2Code
2023/02/14
7210
flutter基础布局代码
基于flutter3.x+material-design3仿微信App应用实战
flutter3-wchat一款基于flutter3+dart3+material-ui技术构建的跨多端仿微信聊天项目。
andy2018
2024/02/07
1.1K0
【Flutter 组件集录】 DecoratedBox | 8 月更文挑战
DecoratedBox 组件可能单独使用的频率不是很高,因为它被集成在了 Container 组件中,但装饰的使用方式是共通的,源码中说 DecoratedBox 会在其孩子的前景或背景上绘制 Decoration 装饰对象。这说明 Decoration 才是装饰的重点,我们需要了解或自定义 Decoration。
张风捷特烈
2022/03/18
5650
【Flutter 组件集录】 DecoratedBox | 8 月更文挑战
【Flutter 专题】117 图解 Dismissible 滑动清除 Widget
和尚在尝试在项目中实现类似于 iOS 邮箱邮件左右滑动删除对应邮件时,参考到 Flutter 提供的 Dismissible,虽与理想的有差别,但还是值得研究一下。
阿策小和尚
2021/03/16
1.3K0
【Flutter 专题】56 自定义 BubbleWidget 气泡插件
和尚在学习时想要用到气泡效果,为了更加灵活,和尚封装了一个简单的气泡插件,方便日常的使用;
阿策小和尚
2019/08/12
1.7K0
【Flutter 专题】56 自定义 BubbleWidget 气泡插件
Flutter中 Text 与 Container 组件
https://api.flutter.dev/flutter/painting/TextStyle-class.html
越陌度阡
2020/12/16
3.7K0
Flutter中 Text 与 Container 组件
用Flutter构建漂亮的UI界面 – 基础组件篇
Flutter作为时下最流行的技术之一,凭借其出色的性能以及抹平多端的差异优势,早已引起大批技术爱好者的关注,甚至一些闲鱼,美团,腾讯等大公司均已开始使用。虽然目前其生态还没有完全成熟,但身靠背后的Google加持,其发展速度已经足够惊人,可以预见将来对Flutter开发人员的需求也会随之增长。
Javanx
2019/09/04
2.8K0
用Flutter构建漂亮的UI界面 – 基础组件篇
《Flutter个人资料界面应用》
本文我将向您展示如何在 flutter 中制作个人资料页面的 UI,您将学习如何制作圆形按钮以及如何在 flutter 中制作渐变色。
徐建国
2021/08/03
1K0
【Flutter】StatefulWidget 组件 ( PageView 组件 )
PageView 组件构造函数 : 构造函数中的可选参数就是 PageView 组件的所有可设置选项 ;
韩曙亮
2023/03/28
1.2K0
【Flutter】StatefulWidget 组件 ( PageView 组件 )
Flutter 布局备忘录 -- 多图警告,干货建议收藏
这里我将展示我在使用 Flutter 布局的代码片段。我将通过精美的代码片段结合可视化的图形来举例。
Jimmy_is_jimmy
2022/08/30
2.9K0
Flutter 布局备忘录 -- 多图警告,干货建议收藏
【Flutter 专题】137 图解自定义 ACEFoldTextView 折叠文本
和尚在学习 Flutter 过程中,有特别需求是对于文本过长的内容需要展示固定行数,而在文本右下角有提示用户点击展开和收起;和尚尝试自定义一个可折叠收缩的 ACEFoldTextView;
阿策小和尚
2021/10/12
1.3K0
推荐阅读
相关推荐
【Flutter 专题】118 图解特殊利器 ShaderMask 着色器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验