视频地址: https://www.bilibili.com/video/av39709290?zw 博客地址: https://jspang.com/post/flutterDemo.html#toc-ff4 flutter create demo01:命令行来创建项目,这里我就不创建,直接用我原来的代码 D:\Flutter\Demo\demo03 bottom_navigation_widget.dart 新建:bottom_navigation_widget.dart main里面引用这…
20个Flutter实例视频教程-第10节: 一个不简单的搜索条-1 视频地址: https://www.bilibili.com/video/av39709290/?p=10 博客地址: https://jspang.com/post/flutterDemo.html#toc-b14 创建demo06: search_bar_demo.dart 我们搜索的东西一般和后台是有交互的,我们需要一个文件来模拟后台请求数据:asset.dart 这是一个动态的widget: 搜索框放在我们导航条的右边…
20个Flutter实例视频教程-第13节: 展开闭合案例 视频地址: https://www.bilibili.com/video/av39709290/?p=13 博客地址: https://jspang.com/post/flutterDemo.html#toc-f0f 创建demo08 main.dart expansion_tile.dart 效果预览 代码 import 'package:flutter/material.dart'; import 'expansion_tile.d…
第03节: 不规则底部工具栏制作-1 博客地址: https://jspang.com/post/flutterDemo.html#toc-973 视频地址: https://www.bilibili.com/video/av39709290?p=3 视频里面的评论:动态组件就是可以setState的组件 flutter create demo02的项目 这里是定义主题的地方:自定义主题使用theme然后里面使用:primarySwatch,后面主要跟的就是我们的颜色 引入:bottom_app…
视频地址: https://www.bilibili.com/video/av39709290?p=2 博客地址: https://jspang.com/post/flutterDemo.html#toc-4df 新建pages页面里面新建:home_screen.dart 内容比较简单 分别复制三个dart组件出来.然后分别改改名字即可, 里面的内容分别做下修改 引用四个页面: 动态的组件就是要维护他的state 重写初始化状态的方法:initState方法 重写之前 现在上面声明 两个变量…
视频地址: https://www.bilibili.com/video/av39709290/?p=4 博客地址: https://jspang.com/post/flutterDemo.html#toc-7d1 学习如果使用一个动态的widget代替之前写的那几个静态的widget 新建文件:each_view.dart 快捷键:stful生成动态的widget 定义内部使用的变量:以下划线开头的 String _title;这个title是从上一个页面传过来的我们在构造函数内初始化一下 下…
视屏地址: https://www.bilibili.com/video/av39709290/?p=5 博客地址: https://jspang.com/post/flutterDemo.html#toc-246 创建新项目: 把上节课的Main.dart文件复制过来改改. 创建pages.dart stless快速生成我们的FirstPage页面.静态的widget 然后我们去创建的SecondPage页面 stlss快速生成:SecondPage 这样AppBar就设置完成了. 下面设置我…
博客地址: https://jspang.com/post/flutterDemo.html#toc-94f 视频地址: https://jspang.com/post/flutterDemo.html#toc-94f 缩放的效果: import 'package:flutter/material.dart'; class CustomeRoute extends PageRouteBuilder{ final Widget widget; CustomeRoute(this.widget) :…
视频地址: https://www.bilibili.com/video/av39709290/?p=7 博客地址: https://jspang.com/post/flutterDemo.html#toc-65a 创建demo04 flutter从1.0 开始就鼓励大家使用类的不用再写前面的 New关键字了 例如原来new MyAp();现在直接 MyApp();就可以了 新建 frosted_glass_demo.dart stack是层叠组件把我们的图片毛玻璃都重叠在一起 我们使用的网络图…
博客地址: https://jspang.com/post/flutterDemo.html#toc-bb9 视频地址: https://www.bilibili.com/video/av39709290/?p=8 创建项目demo05 keepAliveDemo是一个自定义组件 keepAliveDemo这个组件必须是个动态组件,因为他来回的切换还要变换里面的效果 sfu快捷键快速生成 第一个知识点就是with. 这里我们继承自State,如果我们还要继承其他的类呢?这里就用到了with.表示…
视频地址:https://www.bilibili.com/video/av39709290/?p=9 博客地址:https://jspang.com/post/flutterDemo.html#toc-e3a 新建keep_alive_demo.dart. 里面新建类 MyHomePage是一个动态的widget with只能引入混入的mixin的.AutomaticKeepAliveClientMixin 声明一个计数器:并重写wantKeepAlive 再声明一个内部的方法.点击按钮增加我…
博客地址: https://jspang.com/post/flutterDemo.html#toc-1b4 视频地址:https://www.bilibili.com/video/av39709290/?p=11 定义类searchBarDelegate 继承SearhDelegate 并复写里面的方法 需要复写里面的四个方法.我们定义类:searchBarDelegate 重写第一个方法 buildActions 重写的第一个方法:buildActions 就是搜索的时候右边的差号.里面接收…
视频地址: https://www.bilibili.com/video/av39709290/?p=12 博客地址: https://jspang.com/post/flutterDemo.html#toc-b97 要实现的效果; 这里主要是用我们的流式布局 顺序排,一般到头了 会顺序往下排列. 还会学到 媒体查询.手势操作 先写main.dart 创建warp_demo.dart 这个组件肯定是动态的. 那些加号都是数组生成的,所以这里声明一个数组.数组里面添加按钮,添加按钮我们需要单独写一…
博客地址; https://jspang.com/post/flutterDemo.html#toc-5b0 视频地址: https://www.bilibili.com/video/av39709290/?p=14 新建类: expansion_panel_list.dart 这是一个动态的widget 然后新建类,开和 和 打开,我们要做一个控制这个的类 声明两个List.一个int类型的List,为了生成数组 第二个数组是ExpandStateBean的List List<int> mL…
博客地址: https://jspang.com/post/flutterDemo.html#toc-61b 视频地址: https://www.bilibili.com/video/av39709290/?p=15…
前言 大家好,给大家带来AndroidStudio制作底部导航栏以及用Fragment实现切换功能的概述,希望你们喜欢 学习目标 AndroidStudio制作底部导航栏以及用Fragment实现切换功能,用户点击底部导航栏可以实现三个模块的跳转. 图片资源 需要底部导航栏三个点击按钮的图片资源 main_button_1.png,main_button_2.png,main_button_3.png 以及点击变换的图片资源 main_button_1_selected.png, main_bu…
现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能. 我们先看下该demo实例的框架图: 其中各个类的作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序的资源图片)也不提供了,大家可以自行更换自己需要的资源图片.直接上各个布局文件或各个类的代码: [1]  res/layout目录下的 maintabs.xml 源码: <?xml version="1.0…
现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能. 我们先看下该demo实例的框架图: 其中各个类的作用以及资源文件就不详细解释了,还有资源图片(在该Demo中借用了其它应用程序的资源图片)也不提供了,大家可以自行更换自己需要的资源图片.直接上各个布局文件或各个类的代码: [1]  res/layout目录下的 maintabs.xml 源码: <?xml version="1.0…
关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager.bottomNavigationBar界面切换 1.新建4个基本dart文件 在pages目录下,我们新建下面四个dart文件. home_page.dart :商城首页UI页面,首页相关的UI我们都会放到这个文件里. category_page.dart: 商城分类UI页面,这个页面会有复杂的动态组件切换. cart_page.dart:商城购物车UI页面,这个页面会包括购物车的全套功能. member_p…
如果你用过BottomNavigationBar.TabBar.还有Drawer,你就会发现,在切换页面之后,原来的页面状态就会丢失. 要是上一页有一个数据列表,很多数据,你滚动到了下头,切换页面后,想再看一下下头的数据,但是Flutter给你重回页面了... 这谁能顶得住啊. 看了一下解释,原来Flutter中为了节约内存不会保存widget的状态,widget都是临时变量. 不过还是有很多办法解决的,网上传言用 AutomaticKeepAliveClientMixin 配合 @overri…
之前写过的一篇文章介绍了 Flutter - 创建横跨所有页面的侧滑菜单, 这次就一起来学习一下底部导航栏. 底部导航栏在ios平台上非常常见,app store就是这样的风格.还有就是大家最常用的微信,也是底部导航的. 既然这么常见的功能,在Flutter上面也是必不可少的啦.谷歌已经做好了Widget,下面我们就来看一下如何创建一个底部导航栏. 1. 准备工作 首先创建一个空的Flutter 项目,并且按照图示结构.创建一个pages文件夹,并新建四个page文件. 这四个pages是用到导…
03.底部导航栏制作 material是谷歌退出的 还有另外的一种:cupertino是IOS的风格 我们底部的导航栏,静态的widget是不合适的,这垃圾我们用到动态的widget 这重新改成动态的组件 依然叫做IndexPage 声明一个List来放我们底栏的图标啊 文件啊,List我们希望是不变的,是个常量 所以我们用Final来定义 我们再复制三个BottomNavigationBarItem元素 最终代码: import 'package:flutter/material.dart';…
BottomNavigationBar常用的属性: 属性名 说明 items List<BottomNavigationBarItem> 底部导航条按钮集合 iconSize icon currentIndex 默认选中第几个 onTap 选中变化回调函数 fixedColor 选中的颜色 type BottomNavigationBarType.fixed BottomNavigationBarType.shifting import 'package:flutter/material.da…
实现一个底部导航栏,包含3到4个功能标签,点击对应的导航标签可以切换到对应的页面内容,并且页面抬头显示的内容也会跟着改变. 实际上由于手机屏幕大小的限制,底部导航栏的功能标签一般在3到5个左右,如果太多,会比较拥挤,影响用户体验,实际上目前市面上大多数APP的底部导航标签都控制在4到5个左右.既美观.又不会让用户觉得功能繁杂.这个功能的实现需要用到flutter里的BottonNavigationBar这个控件. 属性名 类型 说明 currentIndex int 当前索引,用来切换按钮控制…
1.cupertino_IOS风格介绍 在Flutter里是有两种内置风格的: material风格: Material Design 是由 Google 推出的全新设计语言,这种设计语言是为手机.平板电脑.台式机和其他平台提供一致,更广泛的外观和感觉.我喜欢称它为纸墨设计.Material Design 风格是一种非常有质感的设计风格,并会提供一些默认的交互动画. cupertino风格:即 IOS 风格组件,它重现了很多经典的有 IOS 特性的交互和界面风格,让适用于 IOS 的人感觉亲切和…
一,概述 BottomNavigationBar即是底部导航栏控件,显示在页面底部的设计控件,用于在试图切换,底部导航栏包含多个标签.图标或者两者搭配的形式,简而言之提供了顶级视图之间的快速导航. 二,Bar关键元素 BottomNavigationBar BottomNavigationBar 是属于 Scaffold 中的一个位于底部的控件.通常和 BottomNavigationBarItem 配合使用. BottomNavigationBar构造方法 BottomNavigationBa…
1.要实现的效果图以及工程目录结构: 先看看效果图吧: 接着看看我们的工程的目录结构: 2.实现流程: Step 1:写下底部选项的一些资源文件 我们从图上可以看到,我们底部的每一项点击的时候都有不同的效果是吧! 我们是通过是否selected来判定的!我们要写的资源文件有:首先是图片,然后是文字,接着是背景! 图片Drawable资源:tab_menu_channel.xml <?xml version="1.0" encoding="utf-8"?>…
04.底部导航栏切换效果 博客地址: https://jspang.com/post/FlutterShop.html#toc-291 我们要做的效果图: 新建四个页面 home_page.dart home_page.dart为了展示切换效果,所以代码比较简单.中间放个Center,center里面再放一个Text文本就可以了. 剩下的企业几个页面都做相应的复制就可以了. 分类页面 购物车页面 会员中心页面 IndexPage页面引入四个子页面 引入四个页面以后,需要定义一个List变量.把四…
本文参考了导航栏的代码viewpagerindicator实现. 本文介绍了之前版本号qq或者微信,添加文本,实现图标,导航栏的底部. 2014-09-14 13:59:42更新:library的代码已经从Demo中分离出来.见文末. 本样例依赖viewpagerindicator的两个接口:IconPagerAdapter及PageIndicator.这两个接口的方法例如以下: package com.viewpagerindicator; public interface IconPager…
关于界面切换以及底栏的实现可参考之前写的一篇文章:Flutter实 ViewPager.bottomNavigationBar界面切换 1.新建4个基本dart文件 在pages目录下,我们新建下面四个dart文件. home_page.dart :商城首页UI页面,首页相关的UI我们都会放到这个文件里. category_page.dart: 商城分类UI页面,这个页面会有复杂的动态组件切换. cart_page.dart:商城购物车UI页面,这个页面会包括购物车的全套功能. member_p…