当前位置:首页 > 软件应用 > 正文

flutter标题栏Appbar的封装

摘要: flutter标题栏Appbar的封装最佳答案53678位专家为你答疑解惑flutter标题栏Appbar的封装设置标题栏高度P...

flutter标题栏Appbar的封装

最佳答案 53678位专家为你答疑解惑

flutter标题栏Appbar的封装

设置标题栏高度PreferredSize

Flutter的标题栏通常使用AppBar, 但是AppBar并没有提供设置高度的参数, 需要使用PreferredSize包裹appbar, 并设置preferredSize属性

设置appbar中的控件

通过leading和actions属性设置左右的控件通过title指定标题栏的控件通过centerTitle指定默认标题栏的位置, 默认Android上是false, 默认偏左

backAppbar可以返回一个只有标题和返回键的标题栏
import 'package:bigtoe/style/qss_color.dart';import 'package:flutter/material.dart';/** * Created with IntelliJ IDEA. * Package: utils * Author: sirai * Create Time: 2019-06-24 16:10 * QQ: 785716471 * Email: 785716471@qq.com * Description:公共的titlebar */class TitleBar {  /**   * 仅含 左侧返回按钮 及中间标题   * appBar: TitleBar().backAppbar(context, '个人资料'),   * appBar: TitleBar().backAppbar(context, '个人资料',(){}),   */  backAppbar(BuildContext context, String title,{VoidCallback onPressed}) {    return PreferredSize(        preferredSize: Size.fromHeight(48),        child: AppBar(          title: Text(            title,            style: TextStyle(color: QssColors.black, fontSize: 16),          ),          centerTitle: true,          leading: _leading(context,onPressed),          brightness: Brightness.light,          backgroundColor: QssColors.white,          elevation: 0,          iconTheme: IconThemeData(color: QssColors.black),        ));  }    /**   * 设置左侧按钮   */  _leading(BuildContext context, VoidCallback onPressed) {    return Column(      mainAxisAlignment: MainAxisAlignment.center,      crossAxisAlignment: CrossAxisAlignment.start,      children: <Widget>[        Container(          width: 44,          padding: EdgeInsets.all(0),          child: new IconButton(            padding: EdgeInsets.only(left: 16, right: 16),//            icon: Image.asset(//              'assets/images/ic_black_left_arrow.png',//              fit: BoxFit.contain,//              width: 16,//              height: 16,//            ),            icon: Icon(Icons.chevron_left),            onPressed: () {              if (onPressed==null) {                _popThis(context);              } else {                onPressed();              }            },          ),        ),      ],    );  }  /**   * 关闭页面   */  _popThis(BuildContext context){    Navigator.of(context).pop();  }}

转载 https://blog.csdn.net/u014449046/article/details/92242982

大量Flutter项目源码,快来学习吧

Flutter水果茶类效果源码

介绍:Flutter开发一款水果茶app,有首页展示,购物车,详情页

源码下载:https://www.dandroid.cn/?p=7137

android省市区三级联动

介绍:实现省市区三级联动

源码下载:https://www.dandroid.cn/?p=7124

android应用添加角标

介绍:Android应用添加角标,数字提醒

源码下载:https://www.dandroid.cn/?p=7132

Flutter电商通用筛选菜单

介绍:Flutter版 仿京东/美团电商筛选菜单

源码下载:https://www.dandroid.cn/?p=7141

Flutter标题栏筛选效果源码

介绍:Flutter 封装的标题栏筛选

源码下载:https://www.dandroid.cn/?p=7144

Flutter应用下载市场效果源码

介绍:flutter实现的轻量级的应用下载市场

源码下载:https://www.dandroid.cn/?p=7150

发表评论