来瓶哇哈哈,精神抖擞来一波~ 简单回顾 Material Design,是谷歌在14年的IO大会上提出的一种新的理念,也被称为新的设计语言(也被称为“原材料设计”),称它为设计语言不为过,但是实际上,这仅仅是谷歌提倡的一种新的设计风格...Bottom App Bar Material Design的一个重要特征是设计 BottomAppBar。可适应用户不断变化的需求和行为,So,BottomAppBar是一个从标准物质指导的演变。...当然,我们还可以通过fabAttached属性去设置FloatingActionButton以及BottomAppBar是否粘合,效果如下: app:fabAttached=”false”: app...当项目有3到5个顶层(底部)目的地导航到时,可以使用此模式。...持久性底部页面是从屏幕底部出现的视图,在主要内容上升高。他们可以垂直拖动以暴露他们的内容列表。 注意:如果要使用模态(对话框)的底页,请使用 BottomSheetDialogFragment。
FloatingActionButton & ExtendedFloatingActionButton.png 3.BottomAppBar 其实就是个底部的 ToolBar,但是搭配 FloatingActionButton...可以有别样的效果 val mBottomAppBar = findViewByIdBottomAppBar>(R.id.bottomappbar) val size...BottomAppBar.png PS:BottomAppBarCutCornersTopEdge 这个类可以将 FloatingActionButton 变成菱形,但是 getEdgePath 里面的...它们固定在屏幕底部(使它们在移动/平板电脑设备上符合人体工程学),并且类似于Dialogs,它们位于主屏幕内容上方。在大多数情况下,可以通过向上/向下拖动手势来扩展/关闭它们。..., bottom sheets只在底部显示一部分布局。
theme ThemeData 应用程序的主题,各种的定制颜色都可以设置,用于程序主题切换 darkTheme ThemeData 深色模式下的主题 themeMode ThemeMode 用于设定主题模式...,按钮text等 localeListResolutionCallback LocaleListResolutionCallback 该回调负责在应用启动时以及用户更改设备的区域设置时选择应用的区域设置...showSemanticsDebugger bool 为true时,打开Widget边框,显示布局边界 debugShowCheckedModeBanner bool 为true时,在debug模式下显示右上角的...)抽屉菜单 drawerScrimColor Color 打开侧滑菜单时遮盖在主要内容区的蒙层颜色 backgroundColor Color 内容的背景颜色。...flexibleSpace显示在AppBar的下方,高度和AppBar高度一样,可以实现一些特殊的效果 [cf22fa2aav.png] 文档地址 示例 BottomAppBar BottomAppBar
如上图所示,我们创建了一个简单的应用程序栏。...这种变化在应用处于Snapped状态时较为常用。...CommandBar Windows 8.1 引入的CommandBar在很大程度上简化了我们创建应用程序栏的过程,它会把按钮分为右侧的主命令(Primary Commands)和左侧的辅助命令(Secondary...如上图所示,ClockIdentifier设置为12HourClock时,显示为12小时制,同时会显示上午/下午的选项;类似的,设置为24HourClock时,显示为24小时制,上午/下午的选项消失。...到这里我们就把AppBar、CommandBar、DatePicker 和 TimePicker的用法介绍完了,下一篇我们会介绍剩余的新增控件,谢谢大家。
全局Theme是由应用程序根MaterialApp创建的Theme 。 Theme作用:可以设置Widget的主题,提高开发效率和速度,保持App主题统一性或某种一致性。...中大多数颜色从100到900,增量为100,加上颜色50,数字越小颜色越浅, 数字越大颜色越深。...bottomAppBarColor - BottomAppBar的默认颜色。 buttonColor - Material中RaisedButtons使用的默认填充色。...用于确定放置在突出颜色顶部的文本和图标的颜色(例如FloatingButton上的图标)。 brightness - Brightness类型,应用程序整体主题的亮度。...); } } 直接复制到自己的项目内即可运行。
也可以看看: AppBar, 这是一个水平条,通常使用appBar属性显示在应用程序的顶部....BottomAppBar,这是一个水平条,通常使用bottomNavigationBar属性显示在应用程序的底部 ....FloatingActionButton, 这是一个圆形按钮,通常使用floatingActionButton属性显示在应用程序的右下角....SnackBar, 这是使用ScaffoldState.showSnackBar方法通常显示在应用程序底部附近的临时通知. BottomSheet, 这是通常显示在应用底部附近的叠加层。...应用程序栏通常用在Scaffold.appBar属性中,该属性将应用程序栏作为固定高度的小部件放置在屏幕的顶部。
,每个组件都可以很方便的重用,这点在UI开发时确实便利了不少。...至于声明式UI和命令式UI的区别,相信你会在后续实际使用时有很大的感触 一、认识compose 通过官方文档我们可以了解到compose的编程思想。...= null,//提示,有内容时自动消失 leadingIcon: @Composable (() -> Unit)?...floatingActionButton是专门为FloatingActionButton准备的槽位,配合floatingActionButtonPosition可以改变槽位的位置,目前只支持底部居中和底部靠右...,相应的点击动作,基于协程返回消失或点击动作的结果: @OptIn(ExperimentalMaterial3Api::class) @Preview @Composable fun MyScaffold2
立面设计是Material Design中一条非常重要的设计思想,也就是说,按照Material Design的理念,应用程序的界面不仅仅只是一个平面,而应该是有立体效果的。...首先仍然需要提前准备好一个图标,这里放置了一张ic_done.png到drawable-xxhdpi目录下。然后修改activity-mam.xml中的代码,如下所示: ?...下面实战悬浮按钮的点击事件: 在MainActivity的onCreate()中添加以下代码: //悬浮按钮点击事件 FloatingActionButton fab = (FloatingActionButton...虽说也不是 什么重大的问题,因为Snackbar过一会儿就会自动消失,但这种用户体验总归是不友好的。有 没有什么办法能解决一下呢?...其实道理很简单,还记得我们在Snackbar的make()方法中传入的第一个参数吗?
在实际开发中,当我们发现已经使用了 SizedBox 或者 ConstrainedBox 给定子元素宽高,但是仍然没有效果时,几乎可以断定:已经有父元素设置了限制!..., ), ); } } 复制代码 平移 Transform.translate 接受一个 offset 参数,可以在绘制时沿 x,y 轴对子组件平移指定的距离 //平移 Widget...,实际上,打孔位置取决于 FloatingActionButton 的位置,上面的位置为 FloatingActionButtonLocation.centerDocked ,所以打孔的位置在底部导航栏的正中间...BottomAppBar 的 shape 属性决定洞的外形,CircularNotchedRectangle 实现了一个圆形的外形,我们也可以进行自定义; 剪裁 Flutter 中提供了一些剪裁函数,...裁剪 Widget 作用 ClipOval 子组件为正方形时剪裁为内贴圆形,为矩形时,裁切Wie内贴椭圆 ClipRRect 将子组件剪裁为圆角矩形 ClipRect 剪裁子组件到实际占用的矩形大小(溢出部分裁切
全局 Theme 是由应用程序根 MaterialApp 创建的 Theme 。 Theme 作用: 可以设置 Widget 的主题,提高开发效率和速度,保持 App 主题统一性或某种一致性。...Color 中大多数颜色从 100 到 900,增量为 100,加上颜色 50,数字越小颜色越浅, 数字越大颜色越深。...backgroundColor - 与 primaryColor 对比的颜色(例如 用作进度条的剩余部分)。 bottomAppBarColor - BottomAppBar 的默认颜色。...focusColor - 焦点获取时的颜色,例如,一些按钮焦点、输入框焦点。 hoverColor - 点击之后徘徊中的颜色,例如,按钮长按,按住之后的颜色。...用于确定放置在突出颜色顶部的文本和图标的颜色(例如 FloatingButton 上的图标)。 brightness - Brightness 类型,应用程序整体主题的亮度。
AppBarLayout只有作为CoordinatorLayout的直接子View时才能正常工作,为了让AppBarLayout能够知道何时滚动其子View, 我们还应该在CoordinatorLayout...layout_height="match_parent"> FloatingActionButton...2.enterAlways 如果往上滑动的话,则显示Toolbar,只要往下滑动,则Toolbar消失 ?...4.exitUntilCollapsed--需要和minHeight一起配合使用,否则没效果 Toolbar完全展开时不遮挡滑动控件,消失效果变为折叠成最小高度,其他和scroll相同 ?...5.snap Toolbar折叠的高度大于原高度的50%,则完全折叠,否则恢复展开,同样的展开的高度大于50%,则完全展开,否则恢复折叠 ?
上一篇讲完 Flutter 中的一些基本部件,这篇就先填完上篇留下的没写的 AppBar 的坑,以及 Scaffold 其他参数的使用,在开始前,先补一张缩略版的脑图 ?...tab 时,如果一行排不下,可设置 true indicatorColor: Colors.yellow, // 导航的颜色 indicatorSize:...,这样显示的内容就会显示在左上角 // _HomePageState // .....一个特殊的组合效果,我们不使用 BottomNavigationBar,换做 BottomAppBar,直接上代码吧 @override Widget build(BuildContext context...\ndescription...description...'), // 和 checkbox 对立边的部件,例如 checkbox 在头部,则 secondary 在尾部
在web前端中我们使用图标可以自己定义字体与SVG,使用阿里图标上面的图标。在Flutter中,google则为我们集成了一些常用的图标。...除了onPressed是必选以外,其余的属性基本上用的不是特别的多,有一些没有涉及到的属性,有兴趣可以自己下来了解。...在右下角增加一个浮动按钮 floatingActionButton: FloatingActionButton( child: Icon(Icons.add), onPressed: () =...bottomNavigationBar 在底部设置一个导航组件 bottomNavigationBar: BottomAppBar( shape: CircularNotchedRectangle(...总结 Flutter的基础的组件就讲到这里,涉及到的大都是常用的组件,部分东西没有涉及到或者说没有详细说明,可能是因为我认为不用过多说明,可能是因为没有太多时间,也可能是因为我自己也不看明白,如果你不懂
,致敬我的2018 本篇的重点在于:后端数据在移动端的展现 本篇总结的技术点: 材料设计串烧、Retrofit+RxJava访问请求、MVP模式的思考、App的打包 将App上传到服务器,提供下载地址...} ---- 3.4:BottomSheet与FloatingActionButton的结合 mBottomSheetBehavior = BottomSheetBehavior.from(mBottomSheet...context, AttributeSet attributeSet) { super(context, attributeSet); } /** * 初始时不调用...MIN_DY) {//下滑滑:显示 showOrNot(coordinatorLayout, child, true).start(); } //仅滑动时消失...伴随动画定义在FloatingActionButton伴随动画按钮的标签内 BottomNavigationBar伴随列表显隐的Behavior 写在RecyclerView标签内 Behavior
Padding通常用于设置子Widget到父Widget的边距,这部分边距可以称为父组件的内边距,或者子Widget的外边距。...的装饰范围 this.transform, //变换 this.child, ... }) 大多数属性在介绍其它容器时都已经介绍过了,不再赘述,但有两点需要说明: 容器的大小可以通过width...margin的留白是在容器外部,而padding的留白是在容器内部,读者需要记住这个差异。...我们可以通过Scaffold的floatingActionButton属性来设置一个FloatingActionButton,同时通过floatingActionButtonLocation属性来指定其在页面中悬浮的位置...Widget ,在后面介绍滑动组件时,会涉及到 TabBarView,它是一个可以进行页面切换的组件,在多 Tab 的 App 中,一般都会将 TabBarView 作为 Scaffold 的 Body
Material Button Material Button 是一个小部件, 可用于在你的应用程序的用户界面中显示材质样式的按钮....例如, Chip 可用于根据应用程序中的当前上下文向用户显示可选建议的列表. ?... Material Card View 在我们的应用程序中, 我们可能在某些时候使用了...BottomAppBar 可以通过类似于下面的方式添加到你的布局中: bottomappbar.BottomAppBar android:layout_width...这可以通过编码方式完成,如下所示: bottom_app_bar.replaceMenu(R.menu.main) 当涉及到定义底部应用栏的样式时, 可以使用几个属性来完成此操作. app:fabAttached
// 设置页面主体元素组件 body: , // 创建浮动按钮 FloatingActionButton 组件 , 并设置给 floatingActionButton 字段 ; floatingActionButton...: FloatingActionButton(), ) 浮动按钮点击事件 : 浮动按钮点击事件就是 FloatingActionButton 组件的 onPressed 属性值 , 设置一个 VoidCallback...类型的值 , FloatingActionButton( // 浮动按钮点击事件 onPressed: () { } ) VoidCallback 就是参数和返回值都是空的函数 ; onPressed...Function(); 二、底部显示按钮组件 ---- 调用 showModalBottomSheet 方法 , 即可弹出底部按钮组件 , 该组件由开发者定义 , 可以是任何组件 , 如 Column ; 这里在底部显示的是一个...transitionAnimationController, }) 三、手势检测器组件 ---- 这里按钮点击使用 GestureDetector 组件 , 监听器 onTap 方法 , 用户点击时 ,
弹出Snackbar,fab自动上移的效果,app:layout_behavior的为自定义的效果,当下滑时,fab消失,上滑时fab显示,详情请查看本人博客 Floating Action Button-Android...enterAlwaysCollapsed: 顾名思义,这个flag定义的是何时进入(已经消失之后何时再次显示)。...exitUntilCollapsed: 同样顾名思义,这个flag时定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度的时候消失。...,比如在里面放一个ImageView,然后在它折叠的时候渐渐淡出。...CoordinatorLayout的工作原理是搜索定义了CoordinatorLayout Behavior 的子view,不管是通过在xml中使用app:layout_behavior标签还是通过在代码中对
在一个应用程序中通常由多个Activity构成,在Manifest.xml中会指定一个主的Activity, 如下所示 的Activity时这个当前的这个Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。...都知道栈是先进后出的原则,那么当用户按Back键时,当前的这个Activity销毁,前一个Activity重新恢复。...fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener...但是点击Home键,Activity并不会被立即销毁 后记 大家还可以尝试旋转屏幕、锁屏等后的Activity的状态,本文就不一一列举了 我的学习代码托管在Github上,链接为: 点我 参考资料 Activity
popEnterTransition:当前页面在另一个页面弹出后重新出现的动画。 popExitTransition:当前页面弹出栈后隐藏时的动画。...这些动画可以直接设置在NavHost中,下面我们设置一下: 下面我们运行一下: 可以看到当前页面进入到详情页面有动画效果,而返回之前的页面时也是这个动画效果,两者一样,我们再试试其他的动画...三、FloatingActionButton使用 浮动按钮在日常开发中,也是很常见的,下面在我们的EpidemicNewsListPage中添加一个浮动按钮。...添加浮动按钮的同时,我把TopAppBar中多余的内容清除掉了,下面我们运行一下: 点击时弹出Toast,默认显示在页面的右下角。 那如果要改位置呢?...route BottomAppBar { navItem.forEach { BottomNavigationItem(
领取专属 10元无门槛券
手把手带您无忧上云