美文网首页
Flutter 初体验 一

Flutter 初体验 一

作者: yan0_0 | 来源:发表于2021-02-04 16:20 被阅读0次

我们先看一个小demo

import 'package:flutter/material.dart';  //导入系统包,类似UIKit

//程序运行入口
void main() => runApp(App());
class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Home(),
      theme: ThemeData(primaryColor: Colors.amber),
    );
  }
}
class Home extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Scaffold(//类似nav
      backgroundColor: Colors.grey[100],
      appBar: AppBar(//类似导航栏
        title: Text('FlutterDemo'),
      ),
      body: MyWidget(),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build (BuildContext context) {
    final _testStyle = TextStyle(color: Colors.red,fontSize: 40.0,fontWeight: FontWeight.bold);
    return Center(
      child: Text(
        'hello Flutter',
        textDirection: TextDirection.ltr,
        style: _testStyle,
      ),
    );
  }
}

显示结果为


截屏2021-02-04 下午3.53.42.png
  • 这里Widget,代表小部件,相当于UIView

  • Stateless widgets 是不可变的, 这意味着它们的属性不能改变 - 所有的值都是最终的.

  • Stateful widgets 持有的状态可能在widget生命周期中发生变化

  • 这里有个语法,如果代码只有一行可以用=>代替花括号

void main(){
  runApp(MyWidget());
}

和下面这个是等价的

void main() => runApp(MyWidget());

listView列表页面体验

我们可以通过这种形式加载列表页面

class ListViewDemo extends StatelessWidget {
  //带下划线代表私有
  Widget _cellForRow(BuildContext context,int index){
    return Container(
        color: Colors.white,
        margin: EdgeInsets.all(10),
        child: Column(
          children:<Widget> [
            Image.network(datas[index].imageUrl),
            SizedBox(height: 10,),
            Text(
              datas[index].name,
              style: TextStyle(
                  fontWeight: FontWeight.bold,
                  fontSize: 18.0,
                  fontStyle: FontStyle.values[1]
              ),
            ),
            SizedBox(height: 20,),

          ],
        )
    );
  }
  @override
  Widget build(BuildContext context) {
     return ListView.builder(
       itemCount: datas.length,
       itemBuilder:_cellForRow,
     );
  }
}

Text属性

class TextDemo extends StatelessWidget {
  final TextStyle _textStyle = TextStyle(
    fontSize: 16.0,
  );
  final String _title = 'Flutter特训班';
  final String _lector = 'Hank';
  @override
  Widget build(BuildContext context) {
    return Text(
      '《${_title} -- $_lector》本套课程将针对iOS开发者快速上手Flutter技术,本套课程将针对iOS开发者快速上手Flutter技术,本套课程将针对iOS开发者快速上手Flutter技术,本套课程将针对iOS开发者快速上手Flutter技术',
      textAlign: TextAlign.center,
      style: _textStyle,
      maxLines: 3, //最多显示三行
      overflow: TextOverflow.ellipsis, //超出显示...
    );
  }
}

富文本RichText

class RichTextDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return RichText(
      text: TextSpan(
          text: '《Flutter特训班》',
          style: TextStyle(
            fontSize: 30,
            color: Colors.black,
          ),
          children: <TextSpan>[
            TextSpan(
              text: 'Hank',
              style: TextStyle(
                  fontSize: 16,
                  color: Colors.blue
              ),
            ),
            TextSpan(
              text: '哈哈',
              style: TextStyle(
                  fontSize: 16,
                  color: Colors.blue
              ),
            ),
          ]
      ),
    );
  }
}

显示结果为


截屏2021-02-04 下午4.19.13.png

相关文章

  • Flutter环境搭建

    谷歌Flutter官方网站Flutter中文网Flutter社区中文资源Flutter初体验(一)——Mac 安装...

  • Flutter-从入门到项目 03: Flutter初体验

    Flutter-从入门到项目 03: Flutter初体验 Flutter 专题目录直通车: [https://w...

  • Flutter系列(2)Dart语言基础

    Flutter的开发语言是Dart语言的,这篇文章就说说Dart语言基础 一、Dart 初体验 在flutter项...

  • Flutter 安装之初体验

    Flutter 安装之初体验 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效...

  • flutter开发体验总结

    flutter开发初体验 flutter目前最火的混合开发技术,作为苦逼的移动开发人员了解下总是没有错的,针对最近...

  • Flutter 初体验 一

    我们先看一个小demo 显示结果为 这里Widget,代表小部件,相当于UIView Stateless widg...

  • Flutter初体验

    一.关于Flutter Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户...

  • Flutter 初体验

    一、flutter介绍 flutter关联词 flutter诞生: 工具:Android Studio和xcode...

  • Flutter初体验

    一、环境搭建 1.window安装flutter,本人是Android开发,确保自己电脑以及安装过jdk以及sdk...

  • Flutter初体验

    Flutter 和 React-native 一样,用于开发移动端app,在开源中国上看到这个东东,抽个周末接触一...

网友评论

      本文标题:Flutter 初体验 一

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