无状态组件和有状态组件的介绍

StatelessWidget 是无状态组件,状态是不可以改变的
StatefulWidget 是有状态组件 持有的状态可能在 widge 生命周期中改变
StatelessWidget 是一个抽象类,只要是抽象类,我们就要实现抽象类里面的抽象方法

1快速修复

class MyApp extends StatelessWidget{

}
会报错 我们选择快速修复
然后选择第一个 create 1 misssxxx 实现抽象类里面的抽象方法 class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
throw UnimplementedError();
}
} build 方法会返回一个 Widget(组件);
在 flutter 中所有的都是组件
Text, Center 也是一个组件

2 center组件实现全屏上下左右居中

import 'package:flutter/material.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Center(
child: new Text(
'中文',
textDirection: TextDirection.ltr,
));
}
}

3设置Text 的文本字体颜色大小

文本的样式需要再TextStyle下去设置
style: TextStyle(
fontSize: 40.0, //数字必须是Double类型的
// 设置字体的颜色
color: Color.fromARGB(200, 100, 100, 8)
)
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Center(
// 设置Text的文本字体
child: new Text(
'你好Flutter,我开始学习你了',
textDirection: TextDirection.ltr,
// 设置字体的颜色
style: TextStyle(
fontSize: 40.0, //数字必须是Double类型的
// 设置字体的颜色
color: Color.fromARGB(200, 100, 100, 8)),
));
}
}

3 MaterialApp

MaterialApp 是一个方便的 WiDget;
它封装了应用程序实现的 Material Design 所需要的一些 Widget
它一般作为顶层的组件使用

4 使用MaterialApp设置导航栏顶部标题

import 'package:flutter/material.dart';

void main() {
runApp(new MyApp());
} class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
// 设置顶部的标题
home: Scaffold(appBar: AppBar(title: Text('首页')), body: MyCont()),
//设置顶部的颜色
theme: ThemeData(primarySwatch: Colors.yellow),
);
}
} class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Center(
child: new Text(
'你好Flutter,我开始学习你了',
textDirection: TextDirection.ltr,
// 设置字体的颜色
style: TextStyle(
fontSize: 40.0, //数字必须是Double类型的
// 设置字体的颜色
color: Color.fromARGB(200, 100, 100, 8)),
));
}
}

4 Scaffold

Scaffold 是 Material Design 布局结构的基本实现
这个类用于显示 drawer snackbar 和底部 sheet 的 api

5 简写

void main(){
runApp(MyApp())
} void main()=> runApp(MyApp())

Container 组件详解

Container 是一个容器,类似于 div;
Container 是一个类,继承了 StatelessWidget
容器下面放置了一个文本;文本有宽高,背景颜色,边框线
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Center(
child: Container(
child: Text('我开始学习你了'),
width: 750.0, // 都是double类型的,你可以去查看他的属性
height: 50.0,
decoration: BoxDecoration(
//背景颜色
color: Colors.yellow,
// 边框颜色,边框线
border: Border.all(color: Colors.blue, width: 2.0)),
));
}
}
class MyCont extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
// Text的内容
child: Text('我开始学习你了我开始学习你了我开始学习你了我开始学习你了我开始学习你了',
textAlign: TextAlign.right, //文字右对齐
overflow: TextOverflow.ellipsis, //超出显示省略号
//设置文本的样式
style: TextStyle(
fontSize: 20.0,
color: Color.fromARGB(255, 255, 255, 203),
fontStyle: FontStyle.italic, //倾斜
letterSpacing: 2.0)
), // Container的设置
width: 750.0,
height: 150.0,
decoration: BoxDecoration(
//背景颜色
color: Color.fromARGB(255, 192, 213, 1),
// 边框颜色,边框线
border: Border.all(color: Colors.blue, width: 2.0),
//设置圆角
borderRadius: BorderRadius.all(Radius.circular(10))
),
// 设置padding 为20
// padding:EdgeInsets.all(20),
// 分别表示左 上 右 下
padding: EdgeInsets.fromLTRB(20, 30, 50, 10), //底部左对齐
alignment: Alignment.bottomLeft,
);
}
}

flutter设置导航栏顶部标题与组件Text和Center和Container详解的更多相关文章

  1. IOS 设置导航栏

    //设置导航栏的标题 self.navigationItem setTitle:@"我的标题"; //设置导航条标题属性:字体大小/字体颜色…… /*设置头的属性:setTitle ...

  2. 【转】iOS中设置导航栏标题的字体颜色和大小

    原文网址:http://www.360doc.com/content/15/0417/11/20919452_463847404.shtml iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参 ...

  3. iOS中设置导航栏标题的字体颜色和大小

    iOS中设置导航栏标题的字体颜色和大小,有需要的朋友可以参考下. 在平时开发项目的时候,难免会遇到修改导航栏字体大小和颜色的需求,一般使用自定义视图的方法,其实还存在一种方法. 方法一:(自定义视图的 ...

  4. 设置导航栏nav全透明

    设置导航栏nav全透明 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff } span.s1 { } ...

  5. wordpress设置导航栏

    设置导航栏,首先你要设置你的导航分类.登陆后台---文章---分类目录,首先在这里输入你要写入导航的标题. 设置好后点击---外观---菜单这个地方就可以具体的设置导航的排序和下拉等二级

  6. iOS设置导航栏样式(UINavigationController)

    //设置导航栏baritem和返回baiitem样式 UIBarButtonItem *barItem = [UIBarButtonItem appearance]; //去掉返回按钮上的字 [bar ...

  7. IOS开发中设置导航栏主题

    /** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */ + (void)initialize { // 设置导航栏主题 UINavigationBar *navBar = [UINa ...

  8. 美团HD(2)-设置导航栏内容

    DJHomeViewController.m #import "DJHomeViewController.h" #import "DJConstantValue.h&qu ...

  9. IOS 设置导航栏全局样式

    // 1.设置导航栏背景 UINavigationBar *bar = [UINavigationBar appearance]; [bar setBackgroundImage:[UIImage r ...

  10. iOS不得姐项目--appearance的妙用,再一次设置导航栏返回按钮,导航栏左右按钮的封装(巧用分类)

    一.UI_APPEARANCE_SELECTOR 彩票项目中appearance的用法一直没有搞明白,这次通过第二个项目中老师的讲解,更深一层次的了解到了很多关于appearance的作用以及使用方法 ...

随机推荐

  1. git 暂存区问题

    如果需要合别人的代码进来 需要暂时把自己的代码stash一下,用 git stash 放入暂存 如果需要释放出来用 git stash pop 当暂存用的越来越多,问题出现了需要清理暂存区队列,使用代 ...

  2. 用OpenResty搭建高性能服务端

    相关链接:https://github.com/openresty/lua-nginx-module OpenResty 简介 OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web ...

  3. Vue.js 文本行滚动

    1.前言 文本行滚动组件,效果如图 2.封装思路 封装一个组件,接收一个数组,每个数组元素就是一个段文本 组件使用httpVueLoader进行封装加载 使用css位移,配合过渡效果才展示动画 滚动逻 ...

  4. Fleck:一个轻量级的C#开源WebSocket服务端库

    推荐一个简单易用.轻量级的C#开源WebSocket服务端库,方便我们快速实现WebSocket的开发. 01 项目简介 Fleck 是一个用 C# 编写的轻量级 WebSocket 服务器库.它提供 ...

  5. mysql 创建字段createtime 自动添加时间

    1. 创建createtime字段 类型选为timestamp 2.  添加默认值 CURRENT_TIMESTAMP

  6. Python 和 Podman

    1. Windows 10 上安装 Python 开始在 Windows 上使用 Python(初学者) 2. 使用 pip Python 的 Microsoft Store 安装包括 pip(标准包 ...

  7. 中电金信:数字经济时代,AI+金融技术应用与未来发展

  8. Dockerr安装Oracle以及使用DBeaver连接

    拉取镜像 pull container-registry.oracle.com/database/free:latest 创建容器 说明一下我现在的最新版本是23 docker run -d --na ...

  9. Ubuntu 的网络图标不见了,怎么解决

    1. 问题 Ubuntu 的网络图标不见了 2. 解决 service network-manager status # 此时,你会发现状态是 active(running),不用管 service ...

  10. Alpine介绍与apk的基本使用

    前言 Alpine是一个面向安全的轻量级的Linux发行版,相比与CentOS,ubuntu体积小很多,大约只有5M左右,由于体积小的原因,在很多场景下都会使用它来按需制作一些轻量级镜像,虽然体积小但 ...