Flutter布局基础——自定义BottomNavigationBar 背景 这里我们来尝试实现一个不规则的 BottomNavigationBar,首先了解两个系统组件: floatingActionButton...和BottomAppBar floatingActionButton floatingActionButton用于创建一个浮动的按钮,有两种样式:一种是圆形的纯图标的;一种是椭圆的带有图标或文案的。...: 两个SwitchListTile 一个Padding 四个RadioListTile 再然后是 floatingActionButton 再然后是 BottomAppBar 如下: <!...参考 FloatingActionButton Dev Doc BottomAppBar 20个Flutter实例视频教程 让你轻松上手工作
FloatingActionButton & ExtendedFloatingActionButton.png 3.BottomAppBar 其实就是个底部的 ToolBar,但是搭配 FloatingActionButton...可以有别样的效果 val mBottomAppBar = findViewByIdBottomAppBar>(R.id.bottomappbar) val size...android:layout_height="match_parent" tools:context=".MainActivity"> bottomappbar.BottomAppBar...BottomAppBar.png PS:BottomAppBarCutCornersTopEdge 这个类可以将 FloatingActionButton 变成菱形,但是 getEdgePath 里面的...它们固定在屏幕底部(使它们在移动/平板电脑设备上符合人体工程学),并且类似于Dialogs,它们位于主屏幕内容上方。在大多数情况下,可以通过向上/向下拖动手势来扩展/关闭它们。
来瓶哇哈哈,精神抖擞来一波~ 简单回顾 Material Design,是谷歌在14年的IO大会上提出的一种新的理念,也被称为新的设计语言(也被称为“原材料设计”),称它为设计语言不为过,但是实际上,这仅仅是谷歌提倡的一种新的设计风格...Bottom App Bar Material Design的一个重要特征是设计 BottomAppBar。可适应用户不断变化的需求和行为,So,BottomAppBar是一个从标准物质指导的演变。...如果fabCradleVerticalOffset为0,则FAB的中心将与BottomAppBar的顶部对齐。...当然,我们还可以通过fabAttached属性去设置FloatingActionButton以及BottomAppBar是否粘合,效果如下: app:fabAttached=”false”: app...创建一个菜单资源 ,最多5个导航目标(BottomNavigationView不支持超过5个项目); 在内容下面放置BottomNavigationView; 将BottomNavigationView上的
中的 ActionBar body Widget 当前页面所显示的主要内容 floatingActionButton Widget Material中所定义的FAB,是一个悬浮的功能按钮 floatingActionButtonLocation...flexibleSpace显示在AppBar的下方,高度和AppBar高度一样,可以实现一些特殊的效果 [cf22fa2aav.png] 文档地址 示例 BottomAppBar BottomAppBar...body: Center( child: Text('You have pressed the button'), ), bottomNavigationBar: BottomAppBar...( shape: const CircularNotchedRectangle(), child: Container(height: 50.0,), ), floatingActionButton...: FloatingActionButton( child: Icon(Icons.add), ), floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked
widget that could not find a Material ancestor was: I/flutter (25517): ListTile 简而言之: 使用了Material 风格的widget...就需要Scaffold作为根布局 什么是Material 风格的widget,比如 AppBar BottomAppBar FloatingActionButton Drawer SnackBar BottomSheet...return Scaffold( appBar: AppBar( ), bottomNavigationBar: BottomNavigationBar( ), floatingActionButton...: FloatingActionButton( ), drawer: Drawer(), ..... );
怎么排查JVM内存过高? 前言: 想必工作一两年以后的同学都会逐渐面临到,jvm等问题,但是可能苦于无法熟练的使用一些工具;本文将介绍几个比较常用分析工具的使用方法,带着大家一步步定位分析问题。...,以及我们资源占用较多的java子线程。...到达这一步我们现在有很多工具可以去详细定位了,介绍几个我平常用的比较多的吧 3,jstack 把16进制转一下10进制 因为Java线程文件中的线程ID是16进制,所以需要将线程PID 从十进制转换成十六进制...4,Arthas 这是一个我之前写的jvm分析工具,阿里巴巴的,可以挪步,我个人觉得这个工具更爽 Arthas:https://blog.csdn.net/qq_38420688/article/details...,有些时候可能有些电脑没有环境,无法用自带的分析工具,这个在线的工具就派上用场了。
一.简介 前情提要: 最近接了大数据项目的postgresql运维,刚接过来他们的报表系统就出现高峰期访问不了的问题,报表涉及实时数据和离线数据,离线读pg,实时读redis。...在这次优化过程中也是再次深刻感受到redis的各种坑 现象: 大数据报表周末晚上高峰期实时报表打不开,基本上处于不能使用状态,实时报表主要访问redis数据,监控发现Redis CPU占用过高,高峰期2...,跟运维小伙伴沟通过,结合监控结果发现,网络基本上没有问题,网卡流量也远远没有到瓶颈,首先排除网络问题。...这个操作开销很大:主库bgsave->传到从库->从库加载rbd到内存(加载的时候是无法操作redis的)。出现这种情况又有几个原因。。。...repl-buffer存放的数据是下面3个时间内所有master数据更新操作,设置值参考:每秒的命令产生大小*(以下3个时间之和) master执行rdb bgsave产生snapshot的时间 master
设置主题样式 /// 直接写个Theme包裹FloatingActionButton组件 /// 然后设置data,接收类型依然是ThemeData,里面填写我们的参数 /// (如果没有设置局部主题则默认使用全局主题...) new Theme( data: new ThemeData( accentColor: Colors.yellow, ), child: new FloatingActionButton...bottomAppBarColor - BottomAppBar的默认颜色。 buttonColor - Material中RaisedButtons使用的默认填充色。...floatingActionButtonTheme - FloatingActionButtonThemeData类型,FloatingActionButton的主题样式,也就是Scaffold属性的那个...用于确定放置在突出颜色顶部的文本和图标的颜色(例如FloatingButton上的图标)。 brightness - Brightness类型,应用程序整体主题的亮度。
,而并不是在 layout 阶段,所以无论对 子组件做何种变化,其占用的空间的大小和在屏幕上的位置都是不变的,因为这些都是在布局阶段就确定的,例如: Widget getTest() { return...Text 被放大后,占用的空间依然是红色的部分,所以第二个 Text 就会挨着红色的部分,最终就会出现重合 由于矩阵变换只会作用在绘制阶段,所以在某些场景下,在 UI 需要变化是,可以通过矩阵变换来达到视觉上的...实际上 Container 内部会根据 width 和 height 来生成一个 constraints color 和 decoration 是互斥的,如果同时指定就会报错!...,实际上,打孔位置取决于 FloatingActionButton 的位置,上面的位置为 FloatingActionButtonLocation.centerDocked ,所以打孔的位置在底部导航栏的正中间...BottomAppBar 的 shape 属性决定洞的外形,CircularNotchedRectangle 实现了一个圆形的外形,我们也可以进行自定义; 剪裁 Flutter 中提供了一些剪裁函数,
系统load到达多少算过高?又有哪些原因会造成系统load过载?...我发现很少有人能回答清楚,大多数都觉得系统load过载就表示CPU使用率过载、然而实际上并不完全这样的,本文就来仔细分析一下到底有哪些原因会造成系统load过载!...不可中断是处于不间断状态的进程,此流程是不可打断的,比如最常见的是等待磁盘设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk...平均负载到底是多少才合理 既然我们知道平均负载实际就是活跃的进程数,那最理想的状态下应该就是每颗CPU上刚好运行一个进程,这样才能充分的利用CPU,比如平均负载如果为2时,如果只有1颗CPU,则表示有一半的进程争抢不到...导致负载高 运用命令 stress -c 8 负载变高 单个CPU使用率并不高 大多数都消耗在wait上,也就是等待CPU的时间上 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人
在弹出的 时间属性 窗口中,找到ClientProcessId,这就是造成VMI错误而引发CPU占用过高的进程。 4. 在cmd或任务管理器的详细信息里找到对应的PID,该进程就是造成问题的进程。...我的情况是wpscenter.exe。然后只要卸载或禁用该进程即可解决问题。 1. 从"Windows + X"或右键单击窗口开始菜单图标打开事件查看器。 2....在"查看"菜单上,单击"显示分析和调试日志"。在应用程序和服务日志下找到 WMI 的操作日志 |微软 |窗户 |WMI 活动。 3. 查找错误。查找客户端进程 ID 4....在任务管理器 -> 服务选项卡下查找具有匹配流程 ID 的进程。这是导致 WMI 使用过多 CPU 的过程。在我的情况下,过程是 Rapport,这是 IBM 受托人 Rapport 终结点。 5.
上一篇讲完 Flutter 中的一些基本部件,这篇就先填完上篇留下的没写的 AppBar 的坑,以及 Scaffold 其他参数的使用,在开始前,先补一张缩略版的脑图 ?...轴偏移量,会根据传入值平移 }) AppBar - bottom AppBar 还有个 bottom 属性没讲,因为 bottom 这个属性和图片背景一起使用会比较丑,所以就单独拎出来讲,我们直接在原来的代码上修改...一个特殊的组合效果,我们不使用 BottomNavigationBar,换做 BottomAppBar,直接上代码吧 @override Widget build(BuildContext context...bottomNavigationBar: BottomAppBar( shape: CircularNotchedRectangle(), child: Row(...: FloatingActionButton(onPressed: () => print('Add'), child: Icon(Icons.add, color: Colors.white
上一节我们介绍了Row, Column, Image, Text四个基础组件,这一节我们来看看下面几个组件。 Icon Icon就是图标,字体图标,矢量图。...除了onPressed是必选以外,其余的属性基本上用的不是特别的多,有一些没有涉及到的属性,有兴趣可以自己下来了解。...在右下角增加一个浮动按钮 floatingActionButton: FloatingActionButton( child: Icon(Icons.add), onPressed: () =...bottomNavigationBar 在底部设置一个导航组件 bottomNavigationBar: BottomAppBar( shape: CircularNotchedRectangle(...floatingActionButton: FloatingActionButton( child: Icon(Icons.add), onPressed: () => showModalBottomSheet
因为损坏细胞和死细胞常表现出过大量的线粒体污染,因此需要过滤高线粒体基因表达的细胞。过滤原则为,移去线粒体基因表达比例过高的细胞,但是不能大量丢失样本细胞信息。...library(Seurat) library(tidyverse) library(Matrix) #加载所需R包,如果没有自行安装下 读入Rdata文件并查看Rdata文件保存的变量 load(...seurat_object.small.Rdata") attach("H:/Scripts_scRNA_seq_2020/seurat_object.small.Rdata") # 注:路径改为自己文夹存放的路径...考虑到能接受线粒体基因表达比例过低的细胞,因此,这里线粒体基因表达比例高于median + 3*MAD的值认为是离群值。...1 对线粒体基因表达分布计算MAD值 2 根据MAD值计算MAD 偏差 3 计算MAD偏差的中位数 4 以MAD偏差的中位数中心化数据,拟合正态分布,过滤对p值BH检验后,p的细胞。
BottomAppBar,这是一个水平条,通常使用bottomNavigationBar属性显示在应用程序的底部 ....FloatingActionButton, 这是一个圆形按钮,通常使用floatingActionButton属性显示在应用程序的右下角....final drawer → Widget 面板显示在主体的侧面,通常隐藏在移动设备上。...final endDrawer → Widget 面板显示在主体的侧面,通常隐藏在移动设备上。...TabBar, 如果屏幕有多个页面排列在选项卡中,它通常放置在AppBar的bottom插槽中. IconButton,它用于在应用栏上显示按钮的actions.
,而并不是应用在布局(layout)阶段,所以无论对子组件应用何种变化,其占用空间的大小和在屏幕上的位置都是固定不变的,因为这些是在布局阶段就确定的。...),decoration会作用到子组件所占用的实际空间上,所以最终就是上图的效果。...color和decoration是互斥的,实际上,当指定color时,Container内会自动创建一个decoration。...我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置...下面这部分代码可以绘出一个美观的底部导航栏: bottomNavigationBar: BottomAppBar( color: Colors.white, shape: CircularNotchedRectangle
方法一:修改Oracle最大占用内存 通常我们在自己电脑上搭建项目环境时,都免不了要安装Oracle。不管你硬件多强悍,都会发现,Oracle服务一旦启用,内存立马吃紧。...其实这是因为安装Oracle时,为了均衡电脑性能和数据库性能,默认内存大小为物理内存的1/8,自身内存比较大时,oracle所占的内存也会变大。...而通常,我们自己的环境并不需要分配那么大的内存来支持Oracle,这种情况下,我们可以通过修改sga值来减少系统中oracle占用内存过大问题。...不过如此修改所付出的代价就是数据库性能的下降,因此修改时不宜调得太小。 方法二:不用时关闭Oracle服务 Oracle启动之后占用了大量内存。...所以解决这个问题就是关闭oracle的一些开机启动服务就可以。等你用oracle的时候在手动开启就可以了。
1.查看当前的数据库用户连接有多少 USE master GO --如果要指定数据库就把注释去掉 SELECT * FROM sys....[dm_exec_sessions] WHERE [session_id]>50 2.查看各项指标是否正常,是否有阻塞,选取了前10个最耗CPU时间的会话 SELECT TOP 10 [session_id...] AS '等待资源类型', [wait_time] AS '等待时间', [wait_resource] AS '等待的资源', [reads] AS '物理读次数', [writes] AS '写次数...[wait_type] AS '等待资源类型', [wait_time] AS '等待时间', [wait_resource] AS '等待的资源', [dows]....cpu_time] DESC 7.查看ASYNC_NETWORK_IO等待 (注:比如我当前执行了查询SalesOrderDetail_test表100次,由于表数据非常多,所以SSMS需要把SQLSERVER执行的结果慢慢的取走
【Flutter Widgets大全】是老孟耗费大量精力整理的,总共有330多个组件的详细用法,开源到Github上,希望可以帮助到大家,开源不易,转发一下可不可以?。...为了方便对比学习,我将相近或相反功能的组件整理到一个文件中,比如所有的 Button 类组件、弹出类组件等。 如果想系统的学习入门知识,请到 Flutter 老孟 实战 查看。...BackdropFilter 在线查看 Banner 在线查看 Baseline 在线查看 BeveledRectangleBorder 在线查看 Border 在线查看 BorderDirectional 在线查看 BottomAppBar...在线查看 FittedBox 在线查看 FixedExtentScrollPhysics 在线查看 FlatButton 在线查看 Flexible 在线查看 FlexibleSpaceBar 在线查看 FloatingActionButton...还整理了大量 Widgets 的继承关系图: Widget的直接子类,仅仅4个(其实还有一个抽象类) RenderObjectWidget及其子类共有89个: ProxyWidget及其子类共有34个:
image.png 图中可以看到,kibana端Stack Monitoring的监控,CPU使用率每个节点都很高。 原因 出现这种情况,由于表面上看集群读写都不高,导致很难快速从监控上找到根因。...原因一:比较大的查询请求导致CPU飙高 这种情况比较常见,细心一点的话可以从监控上找到线索: image.png 从监控上可以发现,查询请求量的波动与集群最大CPU使用率是基本吻合的。...通过慢日志确认查询慢的索引,对于一些数据量不大的索引,设置少量分片多副本,比如1分片多副本,以此来提高查询性能; 3. 考虑集群升配扩容。...原因二:写入请求导致CPU飙高 同理,首先通过监控来观察到CPU飙高是与写入相关,然后开启集群的慢日志收集,确认写入慢的请求,进行优化。...小结 排查该类问题的关键点,还是在于善用集群的监控指标来快速判断问题的方向,再配合集群日志来定位问题的根因,才能快速地解决问题。
领取专属 10元无门槛券
手把手带您无忧上云