专业的编程技术博客社区

网站首页 > 博客文章 正文

Flutter底部弹窗CupertinoActionSheet 分享、选择都可以用

baijin 2024-08-29 12:30:59 博客文章 5 ℃ 0 评论

本头条核心宗旨

欢迎来到技术刚刚好头条,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

技术刚刚好经历

近几年,移动端跨平台开发技术层出不穷,从Facebook家的ReactNative,到阿里家WEEX,前端技术在移动端跨平台开发中大展身手,技术刚刚好作为一名Android开发,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。希望跟大家一起学习,一起进步!

本篇文章中心思想

做Flutter开发有些时间了,项目也开发了几个,但是让我来写文章确实挺难到,每天都来一篇文章还挺难到,今天我就给大家分享一个点击从底部弹出到一个选择菜单吧,希望大家希望。时间过到还挺快到,今天又是星期三了,我们重庆已经到了很冷到时候了,心里能感受到一阵阵到凉风铺面而来,每天上班起床天都不是很亮,下班也是天黑黑到了。

本文到DEMO样式如下:

来看看HOME到代码吧

import 'package:flutter/material.dart';
import 'package:capertino_model/HomePage.dart';

//程序启动页面
void main(){
 //启动方法
 runApp(new MaterialApp(
 home: new Home(),//具体到页面
 ));
}

具体到Home页面代码

//导入包
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

//继承了StatefulWidget到框架
class Home extends StatefulWidget {
 @override
 _HomeState createState() => new _HomeState();
}

_HomeState()具体的实现类

//实现了state方法
class _HomeState extends State<Home> {
 @override
 Widget build(BuildContext context) {
 return new Scaffold(

 appBar: new AppBar(
 //标题
 title: new Text("Capertino Widget"),
 backgroundColor: Colors.indigo,
 ),

 //具体到内容
 body: new Container(
 //Container是一个组合类容器,它本身不对应具体的RenderObject,
 //它是DecoratedBox、ConstrainedBox、Transform、Padding、Align
 //等组件组合的一个多功能容器
 child: Container(
 margin: EdgeInsets.only(bottom: 10.0),
 child: Align(
 alignment: Alignment.bottomCenter,
 child: new CupertinoButton(
 child: new Text("Click here"),
 onPressed: (){
 shoCuportionDialog(context);
 },
 color: Colors.redAccent,

 ),
 ),
 ),
 ),

 );
 }

shoCuportionDialog的具体实现

shoCuportionDialog(BuildContext context){

 showCupertinoModalPopup(
 context: context,
 builder: (context){

 return CupertinoActionSheet(
 title: new Text("First time learning"),
 message: new Text("Cupertion learning things"),
 cancelButton: new CupertinoActionSheetAction(
 onPressed: (){
 Navigator.of(context).pop();
 },
 child: new Text("Cancel")
 ),
 actions: <Widget>[
 new CupertinoActionSheetAction(
 onPressed: (){},
 child: new Text("First Page",
 style: TextStyle(fontSize: 22.0,color: Colors.orange),
 ),
 ),
 new CupertinoActionSheetAction(
 onPressed: (){}, 
 child: new Text("Second Page")
 ),
 new CupertinoActionSheetAction(
 onPressed: (){},
 child: new Text("Third Page",
 style: TextStyle(fontSize: 22.0,color: Colors.green),
 )
 ),
 new CupertinoActionSheetAction(
 onPressed: (){},
 child: new Text("Fourth Page",
 style: TextStyle(fontSize: 22.0,color: Colors.purple),
 )
 ),
 new CupertinoActionSheetAction(
 onPressed: (){},
 child: new Text("Fith Page",
 style: TextStyle(fontSize: 22.0,color: Colors.purple),
 )
 )
 ],
 );

 }
 );

 }
 
}

pubspec.yaml 文件就是正常到一个文件,没有别到第三方配置

name: capertino_model
description: A new Flutter application.

version: 1.0.0+1

environment:
 sdk: ">=2.1.0 <3.0.0"

dependencies:
 flutter:
 sdk: flutter

 cupertino_icons: ^0.1.2

dev_dependencies:
 flutter_test:
 sdk: flutter

flutter:

总结

今天就跟粉友们写这么多了,iOS样式的操作表。操作表是一种特定的警报样式,可向用户显示与当前上下文相关的两个或多个选项。操作表可以具有标题,附加消息和操作列表。标题显示在消息上方,操作显示在该内容下方。该操作表将其标题和消息设置样式,以匹配标准的iOS操作表标题和消息文本样式。要显示类似于标准iOS操作表按钮的操作按钮,请为这些操作表提供的操作提供CupertinoActionSheetAction。要包括与其他按钮分开的iOS风格的取消按钮,请为为此操作表提供的cancelButton提供CupertinoActionSheetAction。操作表通常作为子窗口小部件传递给 showCupertinoModalPopup,后者通过从屏幕底部向上滑动操作表来显示该操作表。

谢谢观看技术刚刚好头条文章,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表