Flutter Getx 中的Dialog 以及改变主题
设置应用程序入口
import 'package:flutter/material.dart';
import 'package:get/get.dart'; void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GetMaterialApp(
title: "GetX",
home: Scaffold(
appBar: AppBar(
title: Text("GetX Title"),
),
),
);
}
}
Dialog弹框
Dialog属性和说明

调用defaultDialog
class GetxPage extends StatefulWidget {
const GetxPage({super.key});
@override
State<GetxPage> createState() => _GetxPageState();
}
class _GetxPageState extends State<GetxPage> {
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
Get.defaultDialog(
title: "提示信息",
middleText: "你确定删除吗",
confirm: ElevatedButton(
onPressed: () {
print("确定");
Get.back(); //返回
},
child: const Text("确定")),
cancel: ElevatedButton(
onPressed: () {
print("取消");
Get.back(); //返回
},
child: const Text("取消")));
},
child: const Text("Getx defaultDialog")),
],
),
);
}
}
snackbar提示信息
Snackbar属性和说明


调用snackbar
ElevatedButton(
onPressed: () {
Get.snackbar("Snackbar 标题", "欢迎使用Snackbar");
},
child: const Text("Getx snackbar")),
BottomSheet 改变主题
BottomSheet属性和说明


调用snackbar
class GetxPage extends StatefulWidget {
const GetxPage({super.key});
@override
State<GetxPage> createState() => _GetxPageState();
}
class _GetxPageState extends State<GetxPage> {
@override
Widget build(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () {
// 弹出底部菜单
Get.bottomSheet(Container(
color: Get.isDarkMode ? Colors.black12 : Colors.white,
height: 200,
child: Column(
children: [
// 白天模式列表项
ListTile(
leading: Icon(Icons.wb_sunny_outlined,
color:
Get.isDarkMode ? Colors.white : Colors.black),
title: Text("白天模式",
style: TextStyle(
color: Get.isDarkMode
? Colors.white
: Colors.black)),
onTap: () {
// 切换为白天模式
Get.changeTheme(ThemeData.light());
// 关闭底部菜单
Get.back();
print("切换主题为白天模式");
},
),
// 晚上模式列表项
ListTile(
leading: Icon(Icons.wb_sunny,
color:
Get.isDarkMode ? Colors.white : Colors.black),
title: Text("黑夜模式",
style: TextStyle(
color: Get.isDarkMode
? Colors.white
: Colors.black)),
onTap: () {
// 切换为晚上模式
Get.changeTheme(ThemeData.dark());
// 关闭底部菜单
Get.back();
print("切换主题为晚上模式");
},
)
],
),
));
},
child: const Text("使用 Getx.bottomSheet 切换主题")),
Text("这是一个字"),
],
),
);
}
}
Flutter Getx 中的Dialog 以及改变主题的更多相关文章
- 【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)
前言 人心中的成见是一座大山,任你怎么努力都休想搬动. 这是电影<哪吒>里申公豹说的一句话,也是贯彻整部电影的一个主题:或许这句话引起了太多人的共鸣:35岁职场危机,大厂卡本科学历,无房无 ...
- 基于 Flutter 以两种方式实现App主题切换
概述 App主题切换已经成为了一种流行的用户体验,丰富了应用整体UI视觉效果.例如,白天夜间模式切换.实现该功能的思想其实不难,就是将涉及主题的资源文件进行全局替换更新.说到这里,我想你肯定能联想到一 ...
- WPF动态改变主题颜色
原文:WPF动态改变主题颜色 国内的WPF技术先行者周银辉曾介绍过如何动态改变应用程序的主题样式,今天我们来介绍一种轻量级的改变界面风格的方式--动态改变主题色. 程序允许用户根据自己的喜好来对界面进 ...
- 惊天秘密!如何在 Flutter 项目中实现操作引导
不要冒然评价我,你只知道我的名字,却不知道我的故事,你只是听闻我做了什么,却不知我经历过什么. 俗话说得好,产品有三宝,弹窗浮层加引导. 上图截图自我司 App 晓黑板中的口算模块,相信每个 App ...
- 借助JavaScript中的Dom属性改变Html中Table边框的颜色
借助JavaScript中的Dom属性改变Html中Table边框的颜色 -------------------- <html> <head> <title>我是页 ...
- 借助JavaScript中的时间函数改变Html中Table边框的颜色
借助JavaScript中的时间函数改变Html中Table边框的颜色 <html> <head> <meta http-equiv="Content-Type ...
- JQuery中的dialog使用介绍
初始化参数 对于 dialog 来说,首先需要进行初始化,在调用 dialog 函数的时候,如果没有传递参数,或者传递了一个对象,那么就表示在初始化一个对话框. 没有参数,表示按照默认的设置初始化对话 ...
- Android在Service中显示Dialog
在Service中弹出一个Dialog对话框 第1步:在应用的AndroidManifest.xml中需要添加权限.没有无法显示. <uses-permission android:name=& ...
- 【转】SIP 中的Dialog,call,session 和 transaction
如果你对Sip协议中Call, Dialog, Transaction和Message之间的关系感觉到迷惑,那么,那么我可以告诉你,你并不孤单,因为大多数初学者对于这些名词之间的关系都会感到疑惑. ...
- 找回windows 8 中隐藏的Aero Lite主题
在windows 8 预览版中,有一款主题Aero Lite,此主题已经不提供Aero glass的效果,还有反射模糊,但在windows 8 RTM中这个主题被隐藏了,我们在个性化里面看不到Aero ...
随机推荐
- 形象描绘TCP三次握手和四次挥手
一.TCP三次握手TCP 三次握手就好比两个人在街上隔着50米看见了对方,但是因为雾霾等原因不能100%确认,所以要通过招手的方式相互确定对方是否认识自己.形象描绘TCP三次握手和四次挥手 张三首先向 ...
- openssl加解密实战
一.概念 1.加密有两种类型 密钥加密(secret-key encryption)使用相同的密钥进行加密和解密,也叫对称加密 公钥加密(public-key encryption)使用不同的密钥进行 ...
- 铅华洗尽,粉黛不施,人工智能AI基于ProPainter技术去除图片以及视频水印(Python3.10)
视频以及图片修复技术是一项具有挑战性的AI视觉任务,它涉及在视频或者图片序列中填补缺失或损坏的区域,同时保持空间和时间的连贯性.该技术在视频补全.对象移除.视频恢复等领域有广泛应用.近年来,两种突出的 ...
- 产品代码都给你看了,可别再说不会DDD(八):应用服务与领域服务
这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...
- Linux账号密码安全运维
前言 随着云计算厂商的兴起,云资源如ECS不再只有企业或者公司才会使用,普通人也可以自己买一台ECS来搭建自己的应用或者网站.虽然云计算厂商帮我们做了很多安全相关的工作,但并不代表我们的机器资源就绝对 ...
- c#使用正则表达式匹配提取日期
string target_p ="2021/09/18"; string target_q ="2021-09-18"; 格式yyyy/MM/dd: Matc ...
- LVS负载均衡群集——其二
LVS-DR 通信四元素:源IP,源端口,目的IP,目的端口 主机A(客户端)-->VIP 主机B(调度器) 主机A(客户端)<--VIP 主机C(节点服务器) 通信五元素:源IP,源端口 ...
- List 切割成小 list 分批处理数据
使用 Google Guava 库中的方法对 bmList 进行分割. Lists.partition() 方法用于将一个列表按指定大小进行分割,返回一个包含分割后子列表的新列表. 在这个例子中,bm ...
- linux系统centos7安装docker
1.Docker官网安装地址 https://docs.docker.com/engine/install/centos/#prerequisites 2.离线安装下载地址 https://downl ...
- Promise规范与原理解析
摘要 Promise对象用于清晰的处理异步任务的完成,返回最终的结果值,本次分享主要介绍Promise的基本属性以及Promise内部的基础实现,能够帮我们更明确使用场景.更快速定位问题. Promi ...