IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter -> 正文阅读

[移动开发]Flutter

第四节: Dart 中常用集合 List/Map - 简书 (jianshu.com)

调用抽象类中的方法(抽象方法和非抽象方法),如果方法是static的,直接 抽象类。方法 就可以了;如果是非static的则必须需要一个继承的非抽象类,然后用这个非抽象类的实例来调用方法。

1.课程大纲

?(14条消息) flutter- 空安全: Try adding either an explicit non-‘null‘ default value or the ‘required‘ modifier._ifredom-CSDN博客

=====================================================

前言:

快捷键的使用:

1、alt+ctrl+b:查找所有的实现类

2,alt+enter :生成container

3.ctrl+o:生成抽象方法

4.alt+enter:将statelessWidget转化为StatefulWidget

1.widget的生命周期

? ? ? ??

?2.基础的widget

? 2.1:普通文本Text

? ? ? 普通文本的展示:

? ? ?控制文本布局的参数:textAlign,排版方向等
? ? ?控制文本样式的参数:color,字体大小等

? ?

import 'package:flutter/material.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}

class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
      body: HYHomeContent(),
    );
  }
}
// 普通文本的展示
// 控制文本布局的参数:textAlign,排版方向等
// 控制文本样式的参数:color,字体大小等
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}

class _HYHomeContentState extends State<HYHomeContent> {
  @override
  Widget build(BuildContext context) {
    return const Text("莫听穿林打叶声,何妨吟啸且徐行。\n竹杖芒鞋轻胜马。谁怕! 一蓑烟雨任平生。归去,也无风雨也无晴。",
        textAlign: TextAlign.center,
//        显示最大行数
        maxLines: 3,
//        超过3行的字体....
        overflow: TextOverflow.ellipsis,
        style:TextStyle(
          fontSize: 20,
          color: Colors.red,
          fontWeight: FontWeight.bold
        ),
    );
  }
}


超级文本:(Text.rich)主要做图文混排

import 'package:flutter/material.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}

class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
      body: HYHomeContent(),
    );
  }
}
// 普通文本的展示
// 控制文本布局的参数:textAlign,排版方向等
// 控制文本样式的参数:color,字体大小等
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}

class _HYHomeContentState extends State<HYHomeContent> {
  @override
  Widget build(BuildContext context) {
    return  Text.rich(
        TextSpan(
//          text: "hello World1123",
//          style:TextStyle(fontSize: 20,color: Colors.red),
        children: [
          TextSpan(text:"kello world",style: TextStyle(color: Colors.red)),
          TextSpan(text:"kello flutter",style: TextStyle(color: Colors.orange)),
          WidgetSpan(child: Icon(Icons.favorite,color: Colors.redAccent,)),
        ]
    ));
  }
}


2.2按钮:

2.2.1:RaiseButton(凸起按钮)

import 'package:flutter/material.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}
// 按钮
class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
      body: HYHomeContent(),
    );
  }
}
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}
// 按钮没有添加事件之前是没有交互效果的
class _HYHomeContentState extends State<HYHomeContent> {
  @override
  Widget build(BuildContext context) {
    return  Column(
      children: [
       RaisedButton(
         child: Text("button"),
//         文本颜色
         textColor: Colors.deepPurple,
//         背景颜色
         color: Colors.amber,
         onPressed: (){
           print("nutton");
         },
       )
      ],
    )  ;
  }
}


?2.2.2:FlagButton(扁平按钮)? ? OutlineButton()

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}
// 按钮
class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
        body: HYHomeContent(),
    );
  }
}
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}
// 按钮没有添加事件之前是没有交互效果的
class _HYHomeContentState extends State<HYHomeContent> {
  @override
  Widget build(BuildContext context) {
    return  Column(
      children: [
       RaisedButton(
         child: Text("button"),
//         文本颜色
         textColor: Colors.deepPurple,
//         背景颜色
         color: Colors.amber,
         onPressed: (){
           print("nutton");
         },
       ),
        FlatButton(
            onPressed: (){
             print("flatButton");
            },
            child:Text("flatbutton"),
           textColor: Colors.deepPurple,
//         背景颜色
           color: Colors.amber,
        ),
//       OutlineButton
            OutlinedButton(onPressed: (){
              print("Outline");
              },
             onLongPress:(){
              print("长按输出按钮ssss");
    },
              child: Text("你好"),
//              .all :在边框之类的就是指4个边都统一设置
            style:ButtonStyle(backgroundColor:MaterialStateProperty.all(Colors.lightBlue),
                             textStyle:MaterialStateProperty.all( const TextStyle(fontSize: 10)),
                             foregroundColor:MaterialStateProperty.all(Colors.deepPurpleAccent),
//                             padding:MaterialStateProperty.all( const EdgeInsets.all(16)),
                              padding:MaterialStateProperty.all( const EdgeInsets.fromLTRB(2,2,3,4)),
                              shape: MaterialStateProperty.all(const CircleBorder(side:BorderSide(
                                color: Colors.blue,
                                width: 30,
                                style: BorderStyle.solid
                              ))),
//                              mouseCursor:MaterialStateProperty.all(SystemMouseCursors.click),
            )
            ),
      ],
    )  ;
  }
}


Image:NetworkImage

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}
// 按钮
class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
        body: HYHomeContent(),
    );
  }
}
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}
// 图片
class _HYHomeContentState extends State<HYHomeContent> {
  final imgUrl="https://tse1-mm.cn.bing.net/th/id/R-C.09461790447848034fed493e84383d11?rik=h0BIpUujWfZ%2bDw&riu=http%3a%2f%2fpic.netbian.com%2fuploads%2fallimg%2f160713%2f215739-14684182593cfb.jpg&ehk=jBCJ%2fv%2fySg7UBOhadT8r3FL4IE9GIFjmLUau3zQhIRk%3d&risl=&pid=ImgRaw&r=0";
  @override
  Widget build(BuildContext context) {
    return  Image(
             color:Colors.red,
            //颜色混入到图片里面去
             colorBlendMode: BlendMode.colorDodge,
             image:
             NetworkImage(imgUrl),
             width: 200,
             height: 200,
             //宽度自适应
             fit:BoxFit.fitWidth,
             //定位
             alignment: Alignment(0,-1),
    );
  }
}


本地图片设置:

1.创建assets文件夹

2.在pubspec.yaml文件夹将assets代码注释释放出来

3.执行Packages get

?改进:引入的时候不用所有的资源引进,使用*来代替,不加*也可以

?

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
// alt+enter :生成container
// ctrl +alt + b:查看所有的实现类
// 将statelessWidget转化为StatefulWidget:alt+enter
main() {
  runApp(MyAPP());
}
class MyAPP extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
   return MaterialApp(
     debugShowCheckedModeBanner: false,
     home:HYHomepage()
     
   );
  }
}
// 按钮
class HYHomepage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("基础的widget"),
      ),
        body: HYHomeContent(),
    );
  }
}
class HYHomeContent extends StatefulWidget {
  @override
  State<HYHomeContent> createState() => _HYHomeContentState();
}
// 图片
class _HYHomeContentState extends State<HYHomeContent> {
  final imgUrl="https://tse1-mm.cn.bing.net/th/id/R-C.09461790447848034fed493e84383d11?rik=h0BIpUujWfZ%2bDw&riu=http%3a%2f%2fpic.netbian.com%2fuploads%2fallimg%2f160713%2f215739-14684182593cfb.jpg&ehk=jBCJ%2fv%2fySg7UBOhadT8r3FL4IE9GIFjmLUau3zQhIRk%3d&risl=&pid=ImgRaw&r=0";
  @override
  Widget build(BuildContext context) {
    return  Image(
            image: AssetImage("assets/images/demo.jpg"),
    );
  }
}


  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 12:02:39  更:2021-09-30 12:04:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:44:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码