第二百零二回 介绍一个三方包bluetooth_enable_fork

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 自定义主题
    • 2.2 覆盖父主题
  • 3. 示例代码

我们在上一章回中介绍了图片缩放相关的内容,本章回中将介绍如使用主题.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在这里说的主题包含两方面的内容:第一方面是指MaterialApp的theme属性,通过修改该属性可以修改程序中的颜色和字体等内容。在实际项目中,程序的颜色
和字体等内容是统一进行管理的,这样内容都属于主题的范畴。第二方面是指给组件外层封装一层主题,使用该主题覆盖父主题,该方法可以单独修改某个组件的主题。
如果有看官不理解的话先不着急,本章回将介绍详细介绍这两个方面的内容。

在这里插入图片描述

2. 使用方法

2.1 自定义主题

自定义主题主要用来给MaterialApp的theme属性赋值,我们通过创建一个ThemeData对象来实现自定义主题。在创建ThemeData对象时,可以依据项目需求自行修改
主题中的某个颜色,比如修改primarySwatch属性对应的值为black,可以把主题中的主要颜色修改为black(默认是blue)。把自定义的主题的对象赋值给theme属
性后,程序中的主要颜色就会变成black,而其它的颜色仍然是默认主题中的颜色。

2.2 覆盖父主题

覆盖父主题表示自定义一个子主题,子主题中修改了父主题中的部分颜色配置。首先通过Theme.of(context)方法获取到父主题,然后使用父主题的copyWith()方法
获取部分颜色,这样就可以修改这些颜色的值了。覆盖主题还有另外一种用法,也就是我们在上一小节中说的第二方面的内容。详细的使用方法如下:
创建一个Theme组件,在该组件的data属性使用相关的主题,同时把另外一个组件赋值给该组件的child属性,这样就相当于给组件外层封装了一层主题,该主题只能单
独修改被封装组件的主题,不会影响到其它组件使用的主题。

3. 示例代码

//自定义主题
final ThemeData _customTheme = ThemeData(//控制AppBar以及它上面内容的背景色primarySwatch: Colors.orange,canvasColor: Colors.redAccent,//控制AppBar以下界面的背景色scaffoldBackgroundColor:Colors.blue,
);//  MaterialApp的其它属性省略不写  
theme: _customTheme,//对父应主题进行扩展,或者说覆盖父主题
theme: Theme.of(context).copyWith(primaryColor: Colors.red,scaffoldBackgroundColor:Colors.redAccent, ),//使用主题覆盖单独修改第二个图标的颜色
Theme(data: _themeData.copyWith(iconTheme: _themeData.iconTheme.copyWith(color: Colors.red),),child:Icon(Icons.favorite),
),

我们在这里只列出了核心代码,完整的代码可以参考Github上ex023文件中的内容。我在这里就不演示程序的运行结果了,建议大家自己动手被动实践。
看官们,关于"如何使用主题"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/215453.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode93 复原IP地址

复原IP地址 题解1 回溯(同分割回文字符串)Tips&#xff1a;换成deque<string>tmp会更快 有效 IP 地址正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2…

SpringCloud面试题——Sentinel

一&#xff1a;什么是Sentinel&#xff1f; Sentinel是一个面向分布式架构的轻量级服务保护框架&#xff0c;实现服务降级、服务熔断、服务限流等功能 二&#xff1a;什么是服务降级&#xff1f; 比如当某个服务繁忙,不能让客户端的请求一直等待,应该立刻返回给客户端一个备…

达索系统SOLIDWORKS 2024零件特征功能增强

SolidWorks是一款专业的三维3D设计软件&#xff0c;功能强悍&#xff0c;支持分布式数据管理&#xff0c;支持直接处理网格数据&#xff0c;提供更多的数据的灵活性&#xff0c;使用起来高效便捷。可以帮助用户轻松进行3D CAD设计、机械设计、钣金设计、模拟设计、电气设计、PD…

swing快速入门(六)

注释很详细&#xff0c;直接上代码 上一篇 本篇新增内容 Gridlayout&#xff08;网格布局&#xff09; Textfield组件的最大限定长度 Panel()的默认布局方式 Gridlayout的默认布局位置 import java.awt.*;public class swing_test_4 {public static void main(String[]ar…

UE4 透明物体不渲染显示??

问题描述&#xff1a;半透明特效在背景&#xff08;半透明材质模型&#xff09;前&#xff0c;当半透明特效开始移动的时候&#xff0c;随着速度的加快会逐渐不渲染&#xff01; 解决办法&#xff1a; 1.设置透明度排序 2.如果还没效果&#xff0c;修改半透明背景模型以下材质…

visual studio 2022 IDE对C++代码反汇编

敲一段代码&#xff0c;在windows电脑儿上&#xff0c;忽然想用visual studio瞧瞧这段代码的汇编长什么样&#xff0c;怎么做呢&#xff1f; 代码有了 #include <stdio.h> void sort(int*,int);int main(){int array[] { 977,1,32,3,99,8,7,5,23,6 };int length int(…

2023年度总结

这一年一行代码都没写&#xff01;&#xff01;&#xff01; 因为我离开了这个行业&#xff0c;但我为了CSDN 这个位置没有空缺&#xff0c;不能留下遗憾&#xff0c;写下这篇博客吧。 强迫症&#xff0c;完美主义。。 留下三个问题吧 当初你为什么选择了计算机这个行业?现…

(C++)VS下sizeof(string(““))与linux-g++下sizeof(string(““))大小区别及原因剖析

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 说明 博主是x86平台&#xff0c;所以下面的结果是28&#xff1b;x64平台下是40&#xff0c;size_t变了&#xff0c;由int变long long。 接下来我们先来介绍 vs 下string的数据结构 我们可以看到有一个_Buf数组&#xff0c;…

idea java 创建 hellword 项目

1.概要 建立一个最简单的工程&#xff0c;开始编码。 2.试验过程 2.1 创建的过程很简单&#xff0c;除了第一个窗口选择“java 模块”&#xff0c;其他的都是下一步。 2.2 还有就是刚创建的工程什么都没有需要&#xff0c;自己创建一个启动的类和启动函数。 2.3 运行和运行…

Java 内部类详解

目录 一. 前言 二. Java 类的创建要求 三. Java 内部类分类 3.1. 成员内部类 3.1.1. 特点 3.1.2. 语法 3.1.3. 代码示例 3.1.4. 代码测试 3.1.5. 关于 this 的注意事项 3.1.6. 小结 3.2. 局部内部类 3.2.1. 特点 3.2.2. 语法 3.2.3. 代码示例 3.2.4. 代码测试 …

宋仕强论道之华强北精神和文化(二十一)

宋仕强论道之华强北精神和文化&#xff08;二十一&#xff09;&#xff1a; 华强北的精神会内化再提炼和升华成为华强北文化&#xff0c;在外部会流传下去和传播开来。在事实上的行动层面&#xff0c;就是华强北人的思维方式和行为习惯&#xff0c;即见到机会就奋不顾身敢闯敢赌…

C和C++的发展历史以及它们知识背景介绍

C和C发展历史 C语言 C语言是由贝尔实验室的丹尼斯里奇在20世纪70年代初期开发的。C语言最初被设计用于UNIX操作系统的开发&#xff0c;但后来被广泛用于其他各种领域和应用程序的编写。C语言是一种结构化编程语言&#xff0c;具有强大的底层系统编程能力&#xff0c;被广泛用…

pycharm多线程报错的问题(未解决)

暂未解决&#xff01; 看了一下可能是这里的问题&#xff1a; 根据建议&#xff0c;在walks之前加了 freeze_support() 但是没有效果。 关键是&#xff0c;在jupyter上运行是没有问题的&#xff01; 未解决。

js-过滤制表符

过滤所有不可见字符 var str"\n\t\n\t\t\t\r提问&#xff1a;亦庄上海沙龙房子保值吗" var reg /[\s]/g var re str.replace(reg,) console.log(re) console.log(JSON.stringify(re)) g全局匹配&#xff0c;默认只匹配一次 参考 JS——正则表达式&#xff08;超…

算法-05-二分查找

二分查找&#xff08;Binary Search&#xff09;算法&#xff0c;也叫折半查找算法&#xff0c;是一种针对有序数据集合的查找算法。 1-二分查找的思想 我们生活中猜数字的游戏&#xff0c;告诉你一个数据范围&#xff0c;比如0-100&#xff0c;然后你说出一个数字&#xff0c…

工业相机与镜头选型方法(含实例)

一、相机介绍及选型方法 1.工业相机介绍 工业相机与我们手机上面的相机或者我们单反相机不同,工业相机它能够使用各种恶劣的工作环境,比如说高温,高压,高尘等。工业相机主要有面阵相机和线阵相机,线阵相机主要用于检测精度要求很高,运动速度很快的场景,而面阵相机应用…

Leetcode刷题详解——字符串中的第一个唯一字符

1. 题目链接&#xff1a;387. 字符串中的第一个唯一字符 2. 题目描述&#xff1a; 给定一个字符串 s &#xff0c;找到 它的第一个不重复的字符&#xff0c;并返回它的索引 。如果不存在&#xff0c;则返回 -1 。 示例 1&#xff1a; 输入: s "leetcode" 输出: 0示…

spring 属性注入 @Autowired和@Resource注解使用

众所周知Resource 和 Autowired两大注解是开发中最常用的两大注解。两者有一定的区别&#xff1a; Autowired Autowired是spring框架提供的注解类&#xff0c;默认按照类型进行装配。当在容器中找不到对应类型的bean时会抛出NoSuchBeanDefinitionException异常&#xff0c;当…

C语言中的结构体成员赋值与访问详解

C语言中的成员赋值与访问 在C语言中&#xff0c;我们可以使用不同的方式对结构体变量的成员进行赋值和访问。本文将详细介绍这些方式&#xff0c;并通过具体的示例代码加以说明。 目录 使用strcpy_s函数赋值字符串直接赋值数字和浮点数结构体变量之间的赋值使用复合文字进行…

周周清(2)----踩坑日记

周一&#xff1a; 1.之前换了一个jdk&#xff0c;然后又改了很多东西&#xff0c;很乱&#xff0c;以至于很多项目都不能直接运行了&#xff0c;所以今天就将ideal删除并且更新版本到2022.3.3&#xff0c;并且重新将ideal里面的配置环境变量&#xff0c;以及jdk下载安装配置&a…