首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flutter实现带导航栏的PageView页面

一.效果图 二.页面分析 这里我们只用关注资讯页面就行,资讯页面大概可以分为两个部分: 1.顶部导航栏 顶部导航栏有3个固定的tab,选中的时候字体变大,并且改变颜色,如果直接使用系统的TabBar...2.页面body 页面主题可以直接使用ListView控件来实现,这里主要item布局样式: 1.推荐页面可以看出,分两种情况,一种是无图,一种是有图片的展示,这里最多展示3张图片,根据接口返回的图片集合来判断是否有图片...2.城市页面和导购页面item样式是一致的,但是和推荐页面的样式还是有区别,推荐页面图片是在中间,但是这两个页面的图片是在右边,所以整体是在右布局。...Expanded:包含一个子控件,默认不带其他参数的情况下,用来充满页面剩余位置,类似于android里面的weight,不过要注意的是使用Expanded的时候,父组件的尺寸应该是可计算的或者固定值,...PageView通过 currentIndex来关联更新 顶部text和主题页面之间的切换,滑动切换页面的时候,同步更新顶部tab导航栏。

2.2K00

Flutter 中的按钮组件

Flutter提供了丰富的按钮组件可以让我们快速的构建UI界面。 常见的按钮组件如下: 1. RaisedButton :凸起的按钮; 2. FlatButton :扁平化的按钮; 3....值的类型为Widget; 3. textColor 文本颜色。值的类型为Colors; 4. color 按钮的颜色。值的类型为Colors; 5. disabledColor 按钮禁用时的颜色。...值的类型为Colors; 6. disabledTextColor 按钮禁用时的文本颜色。值的类型为Colors; 7. splashColor 点击按钮时水波纹的颜色。...值的类型为Colors; 8. highlightColor 长按按钮后按钮的颜色。值的类型为Colors; 9. elevation 阴影的范围。...用浮动按钮实现类似闲鱼APP的底部导航条效果,以下是代码示例: import "package:flutter/material.dart"; // 标签切换页 class Tabs extends

3.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter底部tab切换保持页面状态的几种方法

    那么如何让页面保持原来的状态,而不是每次都要重新加载刷新数据呢?有两种方式。..._pages, ), 这样就能够实现保持页面状态了,效果如下: 我们可以看到,此时,页面的数据只在最开始进来的时候进行加载,然后就保持住这个页面的状态了,并不会每次进来都进行数据的加载刷新了...使用IndexedStack来保持页面状态的优点就是配置简单,但是它也有很大的缺点:IndexedStack中管理的子页面在一开始就全部一次性加载出来了,不管有没有显示出来,然后通过index属性来确定到底显示哪一个页面...,并配置PageView的controller属性 body: PageView( controller: this....,页面数据只在首次进入该页面的时候进行刷新;而其他没有实现页面保持的页面在每次进入该页面的时候,数据都会刷新。

    6.2K20

    WordPress网站底部的自定页面(如:网站地图等)按钮美化教程

    最近浏览博客,看到不少朋友这个底部的美化,我也觉得底部的这些按钮平平无奇,就想着用css设置一个样式,从而美化按钮方法,至此分享给大家。...以日主题的riplus主题为例,原来的样式是这样的:比较单一不好看 尘心网网站底部展示 优化之后是这样的: 壳屋栏网站底部展示 教程分为两步,添加 css 样式和添加 HTML 代码即可如下 1.主题设置...—>顶部设置—>自定义CSS样式代码:,添加以下 CSS 代码: /*CSS 代码网站底部按钮美化 k5l.cn*/ :root{--theme-color:#f04494;--focus-shadow-color...{ background-color: orange; } .github-badge .bg-red { background-color: red; } /*CSS 代码网站底部按钮美化结束...--网站底部按钮美化 html 开始 by 壳屋栏 k5l.cn--> <span class="badge-subject bg-blue"

    1K30

    【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )

    属性变量 , 以及 PageView 页面跳转 ; 底部按钮设置 : BottomNavigationBar 的 item 属性设置若干 BottomNavigationBarItem 类型的点击按钮.../// 中的按钮顺序 , 要与 PageView 中的页面顺序必须保持一致 /// 个数个顺序都要保持一致 items: datas.map((data) {...参数中 , 可以获取点击的按钮索引 , 然后调用 PageView 的 PageController 的 jumpToPage 方法 实现相应的界面跳转 ; BottomNavigationBar(...的 PageController 的 jumpToPage 方法进行页面跳转 ; PageView 主动设置选中状态 : 滑动 PageView 界面 , 会回调 PageView 中的 onPageChanged.../// 中的按钮顺序 , 要与 PageView 中的页面顺序必须保持一致 /// 个数个顺序都要保持一致 items: datas.map((data) {

    4.5K20

    深入了解 Flutter 中的 PageView(含自定义特效)

    原文链接:A Deep Dive Into PageView In Flutter (With Custom Transitions) - 原文作者 Deven Joshi 本文采用意译的方式...PageViews 的类型有: PageView PageView.builder PageView.custom PageView(默认构造器) 我们以固定列表页面为例,使其可滚动。...现在,我们检查三个条件: 如果页面是正在被滑动的页面 如果页面是正在被滑动到的页面 如果页面是一个离屏的页面 PageView.builder( controller: controller,...在这个例子中,我们在 X 方向旋转页面,因为它通过 currentPageValue 减去 index 的弧度值进行滑动。我们可以通过乘于这个值放大这种效果。...Demo App using PageView 在 Flutter 中,为了演示使用 PageView 来创建一个简单的应用,我创建了一个来学习 GRE 词汇的应用。

    1.1K21

    GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)

    [getx_new] 鄙人是个十足的颜值党,这次最新版本的页面,我做了很多考量 首页随着各位靓仔提的各种需求,Select Function,从最初的俩个功能,增加到现在的七个功能 随着功能按钮的增多...+下划线) 这边也为大家提供了一个这样的可选功能 [usePrefix] isPageView 请注意:isPageView和autoDispose按钮不能同时选中,他们俩都能解决PageView中存的问题...,选择其中一按钮,另一按钮会自动取消勾选 这算是一个非常有用的功能了 如果大家在PageView中使用getx,可能会发现,所有的子页面中的GetXController,一下全被注入了!...build方法中 因为我们使用的是StatelessWidget,并不需要考虑其刷新问题,只有它的父节点刷新,它才会被刷新 GetX存储对象使用的putIfAbsent方法,只会存储第一次注入对象,后续相同类的对象直接忽略...GetXController了 这种回收方式在GetBuilder和Obx俩种刷新机制中,都是通用的 回收的时机:是当前页面被回收的时候 唯一麻烦的:需要你手动把GetBindWidget这个控件,引入到自己的项目中

    1.7K61

    【Flutter】底部导航栏实现 ( BottomNavigationBar 底部导航栏 | BottomNavigationBarItem 导航栏条目 | PageView )

    组件 六、完整代码示例 七、相关资源 一、Scaffold 组件 ---- Flutter 中的 Scaffold 组件实现了基础的材料设计 ( Material Design ) 可视化布局结构 ;...controller 和 List children 字段 , PageController 用于控制 PageView 中的页面跳转 , children 中就是 PageView 封装的多个界面组件..., /// 导航栏按钮点击事件 onTap: (pageIndex) { /// 跳转到对应的导航页面 _pageController.jumpToPage(pageIndex)...= null); 五、PageView 组件 ---- PageView 组件最重要的两个字段 : PageController?...(int page) 方法 , 进行页面跳转 ; jumpToPage 页面跳转在底部菜单栏的 onTap 点击事件中调用 , 更新当前页面后 , 需要调用 setState 方法更新界面 ; PageView

    6.2K50

    探索 Flutter 中的 NavigationRail:使用详解

    介绍 在 Flutter 中,NavigationRail 是一个垂直的导航栏组件,用于在应用程序中提供导航功能。它通常用于更大屏幕空间的设备,如平板电脑和桌面应用程序。...您可以在 PageView 中放置不同的页面,并根据导航栏的选定项切换页面。...通过这种方法,您可以实现根据选定的导航栏项切换不同的页面内容,为用户提供直观的导航体验。您还可以根据需要将其他页面添加到 PageView 中,以扩展应用程序的功能。 6....您可以使用 leading 和 trailing 属性来实现在导航栏中添加额外的元素,例如标签、按钮或其他自定义小部件。...与页面切换组件的无缝集成: NavigationRail 可以与页面切换组件(如 PageView 或 IndexedStack)结合使用,以实现根据选定的导航栏项切换不同的页面内容,从而提供更丰富的用户体验

    66410

    Flutter 中的下拉刷新和上拉加载

    在Flutter的官方SDK中给我们提供了下拉刷新的组件RefreshIndicator,但是没有提供上拉分页加载更多的组件。...不过不用担心,在Flutter的ListView组件中,有一个ScrollController属性,它就是专门用来控制ListView滑动事件,在这里我们可以根据ListView的位置来判断是否滑动到了底部来做加载更多的处理...当然,我们是可以找一些第三方的库来实现上拉加载下拉刷新的效果的,比如flutter_easyrefresh这个第三方组件,但是我并不推荐flutter_easyrefresh,因为它有一些小Bug。...所以这篇文章,我们就聊一下,如何自己去实现上拉加载下拉刷新的效果。..._dataSources = resultList; } else { //上拉刷新(将新加载的数据拼接到原来的数据数组中) this.

    4.1K20

    Flutter完整开发实战详解(二、 快速开发实战篇)

    ,PageView,用于承载Tab对应的页面 body: new PageView( ///必须有的控制器,与tabBar的控制器同步...); }, ), ); [顶部TabBar效果]   在 TabBar 页面中,一般还会出现:父页面需要控制 PageView 中子页的需求。...Flutter 中 为我们提供了 RefreshIndicator 作为内置下拉刷新控件;同时我们通过给 ListView 添加 ScrollController 做滑动监听,在最后增加一个 Item,...)], ), ) 5、路由跳转   Flutter 中的页面跳转是通过 Navigator 实现的,路由跳转又分为:带参数跳转和不带参数跳转。...其实 WillPopScope 并不是监听返回按键,如名字一般,是当前页面将要被pop时触发的回调。   通过onWillPop回调返回的Future,判断是否响应 pop 。

    5K30
    领券