浅识Flutter 基本组件Scaffold
浅识Flutter 基本组件Scaffold
- 1. body
- 2. backgroundColor
- 3. appBar
Scaffold是Flutter开发中实现Material Design布局结构的“脚手架”,只要是在Material Design中定义过的单个界面显示的布局组件元素,都可以用Scaffold绘制.
1. body
body属性用于设定当前页面所显示的主要内容,它主要由多个Widget元素组成。
2. backgroundColor
backgroundColor属性用于设定当前页面内容的背景色,默认使用的是ThemeData.scaffoldBackgroundColor .
backgroundColor: Colors.yellowAccent,
class yangxdpage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(/*设置导航栏*/appBar: AppBar(title:Text('养心殿')), /*设置导航栏*/backgroundColor: Colors.yellowAccent,body: Center(child: GestureDetector(onTap: () {print("皇上起驾");Navigator.pushNamed(context, "/hougong");//连接到hougong路由 路由名hougong},child: Text("起驾后宫"),),), //GestureDetector手势检测组件);}
}
也可以更改APP导航栏的颜色
class hougongpage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(/*设置导航栏*/centerTitle: true,//title居中title:Text('后宫'),backgroundColor: Colors.red//更改APP导航栏的背景色),backgroundColor: Colors.redAccent,//更改APP页面背景色body:Center(child: GestureDetector(onTap: (){print("这里是后宫");Navigator.pushNamed(context, "/yangxd");},child: Text('起驾养心殿'),),) ,);}
}
3. appBar
appBar国性用于定义应用程序的顶部标题栏,显示在Scaffold的顶部区域。该属性值为AppBar类型组件,AppBar组件包含下表所示的常用属性用于设定顶部标题栏显示的效果。
AppBar常用属性和功能
属性名 | 类型 | 默认值 | 功能说明 |
---|---|---|---|
leading | Widget | null | 设置一个标题左侧显示的组件,如返回按钮 |
title | Widget | null | 寝置当前页面的标题名 |
actions | List | null | 设置标题右侧显示的多个组件,如搜索按钮等 |
bottom | PreferredSizeWidget | null | 设置一个在ToolBar标题栏下显示的Tab导航栏 |
elevation | double | 4 | 设置Material Disign中组件的z坐标顺序 |
flexibleSpace | Widget | null | 设置一个显示在AppBar下的组件 |
ackgroundcolor | Color | ThemeData.primaryColor | 设置背景色 |
brightness | Brightness | ThemeData.primaryColorBrightness | 设置AppBar的亮度(包括白色和黑色两种主题) |
iconTheme | IconThemeData | ThemeData.primarylconTheme | 设置AppBar上图标的颜色、透明度和尺寸信息 |
textTheme | TextTheme | ThemeData.primaryTextTheme | 设置AppBar上的文字样式 |
centerTitle | bool | TRUE | 设置标题显示是否居中 |
左侧图标设置,
leading: Icon(Icons.menu),iconTheme: IconThemeData(color: Colors.red, opacity: 30, size: 25),
右侧图标设置
actions: <Widget>[IconButton(icon: Icon(Icons.search,color: Colors.red), tooltip: "搜索", onPressed: null,),IconButton(icon: Icon(Icons.add,,color: Colors.blue), tooltip: "添加", onPressed: null)]
上面只是设置了按钮,但是按下后没有事件反应。可以在onPressed:(){
}里面写具体的方法内容
测试方法,打印出内容
class yangxdpage extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(/*设置导航栏*/appBar: AppBar(title: Text('养心殿'),leading: Icon(Icons.menu),iconTheme: IconThemeData(color: Colors.red, opacity: 30, size: 25),actions: <Widget>[IconButton(icon: Icon(Icons.search, color: Colors.red),tooltip: "搜索",onPressed: () {print("找折子,,,");},),IconButton(icon: Icon(Icons.add, color: Colors.blue),tooltip: "添加",onPressed: () {print('上折子...');})]),/*设置导航栏*/backgroundColor: Colors.yellowAccent,body: Center(child: GestureDetector(onTap: () {print("皇上起驾");Navigator.pushNamed(context, "/hougong"); //连接到hougong路由 路由名hougong},child: Text("起驾后宫"),),), //GestureDetector手势检测组件);}
}
浅识Flutter 基本组件Scaffold相关推荐
- 浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像
浅识Flutter 基本组件Scaffold的 drawer属性 app创建头像 在项目开发中使用本地图片资源文件的步骤. 1.在项目下创建一个文件夹image 2.将本地图片放入images文件夹里 ...
- 浅识Flutter 基本组件之TextField组件 输入框decoration属性
浅识Flutter 基本组件之TextField组件 输入框decoration属性 decoration InputDecoration控制输人框提示信息样式的常用属性 InputDecoratio ...
- 浅识Flutter 基本组件MaterialAPP的theme属性 app主题
浅识Flutter 基本组件MaterialAPP的theme属性 app主题 ThemeData属性及描述 设置主题 theme属性用于指定应用程序的主题(即共享颜色和字体样式). 例如,需要将应用 ...
- 浅识Flutter Android studio 设置APP启动页
Flutter Android studio 设置APP名启动页 Android设置APP启动页 ios设置APP启动页 APP的应用一打开,启动应用程序后,进入主功能界面前会有一张图片或一段动画效果 ...
- 【Flutter】StatefulWidget 组件 ( 创建 StatefulWidget 组件 | MaterialApp 组件 | Scaffold 组件 )
文章目录 一.StatefulWidget 组件 二.创建 StatefulWidget 组件 三.MaterialApp 组件 四.Scaffold 组件 五. 相关资源 一.StatefulWid ...
- 一份超级详细的Flutter基础组件练习示例,请查收!
学习B站技术胖的flutter基础课程整理的示例,为了平时方便查阅,同时希望能和大家一同进步~ Flutter基础组件 Hello world import 'package:flutter/mate ...
- 一个优秀的可定制化Flutter相册组件,看这一篇就够了
背景 在做图片.视频相关功能的时候,相册是一个绕不开的话题,因为大家基本都有从相册获取图片或者视频的需求.最直接的方式是调用系统相册接口,基本功能是满足的,一些高级功能就不行了,例如自定义UI.多选图 ...
- 父子组建传值_浅谈Vue父子组件和非父子组件传值问题
本文介绍了浅谈Vue父子组件和非父子组件传值问题,分享给大家,具体如下: 1.如何创建组件 1.新建一个组件,如:在goods文件夹下新建goodsList.vue goodsList组件 expor ...
- Flutter文本组件Text
Flutter 文本组件Text 在android中,一个页面,一般是用 Activity 或者是一个Fragement 来加载显示出来的,而其中的 一个View 或者 一个布局文件(layout.x ...
最新文章
- 周记 2014.11.29
- LDP (Local Derivative Pattern)原理
- CSDN社区之星专訪:我的蜕变之路
- vue请求封装,http-接口部分(文档笔记)
- [转载]C#实现软件自动更新思路
- react-native 改变webview中字体颜色方式
- Windows内核基础之权限级别
- 虚拟机和主机快捷键切换
- 基于OAS设计可扩展OpenAPI
- Springboot引入hibernate配置自动建表并进行增删改查
- Redis之时间轮机制(五)
- C语言实现定积分的计算
- 深度图像修复的回顾和改进:使用生成对抗网络基于Patch的图像修复
- 美团CAT客户端接入方式
- 标号法(label-setting algorithm)求解带时间窗的最短路问题(ESPPRC)
- RMF客户消费行为评分模型
- jquery 实现背景图片循环切换,显示隐藏div
- C++ MFC打开图片并进行简单算法处理
- 基于依存句法分析的开放式中文实体关系抽取
- 测试用例设计方法(一)
热门文章
- 学习英文和英语听力的网址
- 服务器08r2系统怎么校时,在windows 2008 R2上建 SNTP/NTP 服务器及客户机校时设置
- 一款接口自动化神器—开源接口测试平台Lim(Less is More)
- 自助商务智能的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 百度PaddleOCR Docker GPU版安装全指南
- (私人收藏)[资源整理]天蚕土豆小说和经典书籍共二十三本书待看书
- mysql 异地双活_饿了么异地双活数据库实战
- APS炒币机器人的投资随记No.5:成功的投资者,无须在市场上百战百胜
- win10系统提示“excel已停止工作”的解决方法
- 无线收发芯片可应用在哪些领域?