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 ...
随机推荐
- client-go实战之七:准备一个工程管理后续实战的代码
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<client-go实战> ...
- Python 利用pandas和mysql-connector获取Excel数据写入到MySQL数据库
如何将Excel数据插入到MySQL数据库中 在实际应用中,我们可能需要将Excel表格中的数据导入到MySQL数据库中,以便于进行进一步的数据分析和处理.本文将介绍如何使用Python将Excel表 ...
- MySQL简易教程
本文是参考廖雪峰老师的,但是网站广告有点多,我就在本地抄写一份,一方面是为了加强记忆巩固基础,另一方面也是就是为了第一方面.廖雪峰老师Mysql教程直达地址:https://www.liaoxuefe ...
- SharedArrayBuffer is not defined 问题的解决以及服务器https证书的配置
问题 前端使用了ffmpeg压缩组件,在运行项目出现 SharedArrayBuffer is not defined的问题,使项目不能正常运行,经过网上查询,需要在response加入以下的head ...
- Linux MIPI 摄像头驱动框架编写(RN6752解码芯片)
一.概述 在编写 MIPI 摄像头驱动之前,需要先了解 Media 子系统的链路关系,这里我就不介绍了,需要的看我之前的笔记:Linux Media 子系统链路分析. 理解 Media 子系统链路关系 ...
- L2-040 哲哲打游戏
这题读懂题目之后就发现它很呆 #include <bits/stdc++.h> using namespace std; const int N = 100010, M = 110; ve ...
- 深度分析C#中Array的存储结构
数组是C#中最基础的存储结构之一,很多的存储结构其底层的实现中都是基于数组实现的,如:List.Queue.Stack.Dictionary.Heap等等,如果大家读过这些类型的底层实现源码,其实就可 ...
- 错误记录-MariaDB连接异常
简介: 问题: C#,VS2022,mariadb-10.11.5-winx64,using MySql.Data.MySqlClient; 在执行connection.Open()时抛出异常:Sys ...
- 在PowerShell脚本中获取程序集文件属性的指定元数据特性的方法——AssemblyMetadataAttribute
在PowerShell脚本中获取程序集文件属性的指定元数据特性的方法--AssemblyMetadataAttribute <# .SYNOPSIS 获取程序集文件属性的指定元数据特性 .DES ...
- IDEA提示Cannot resolve class or package ‘beans‘等类似错误
一.解决方案 1.问题原因: 2.解决: 快捷键:Alt+Enter选择.