flutter_update_dialog 一个漂亮的版本更新弹窗

简介: flutter_update_dialog 一个漂亮的版本更新弹窗

前言


前段时间我发布了一个只针对Android的版本更新框架flutter_xupdate,发布以来收到了大家许多的建议.当时我也只是为了自己方便才写的这么一个插件,并没有考虑很多. 建议有很多,大致可以分为如下几类:


  • 能否支持ios版本更新?


  • 能否支持自定义api?


  • 能否支持自定义版本更新弹窗?


  • 能否开发apk安装能力?


....


看到最后,居然还有人问:能不能给我提供检查版本、弹窗显示、apk下载、apk安装的能力,这样我就可以自己写更新逻辑了...


看来真的是不同的人对版本更新是有不同的需求,我想了一下,与其我提供这么一个较重的原生插件,倒不如直接提供一个使用纯dart编写的版本更新弹窗,然后再提供一个使用dart插件组合编写的版本更新功能使用案例,这样大家就可以参照着案例,根据自己的需求来自己写版本更新逻辑了.


下面话不多说,我给出版本更新弹窗flutter_update_dialog的插件地址:

github.com/xuexiangjys…


以及使用它实现的版本更新案例flutter_app_update_example:

github.com/xuexiangjys…


演示


网络异常,图片无法展示
|


  • 默认样式


网络异常,图片无法展示
|


  • 自定义样式


网络异常,图片无法展示
|


快速集成指南


添加引用依赖


在你的flutter项目中的pubspec.yaml文件中添加flutter_update_dialog依赖.


  • 方法一: pub集成


dependencies:
  flutter_update_dialog: ^0.0.1


  • 方法二: github集成


dependencies:
  flutter_update_dialog:
    git:
      url: git://github.com/xuexiangjys/flutter_update_dialog.git
      ref: master


如何使用


默认样式


void defaultStyle() {
    if (dialog != null && dialog.isShowing()) {
      return;
    }
    dialog = UpdateDialog.showUpdate(context,
        title: "是否升级到4.1.4版本?",
        updateContent: "新版本大小:2.0M\n1.xxxxxxx\n2.xxxxxxx\n3.xxxxxxx",
        onUpdate: onUpdate);
  }


自定义样式


void customStyle() {
    if (dialog != null && dialog.isShowing()) {
      return;
    }
    dialog = UpdateDialog.showUpdate(context,
        width: 250,
        title: "是否升级到4.1.4版本?",
        updateContent: "新版本大小:2.0M\n1.xxxxxxx\n2.xxxxxxx\n3.xxxxxxx",
        titleTextSize: 14,
        contentTextSize: 12,
        buttonTextSize: 12,
        topImage: Image.asset('assets/bg_update_top.png'),
        extraHeight: 5,
        radius: 8,
        themeColor: Color(0xFFFFAC5D),
        progressBackgroundColor: Color(0x5AFFAC5D),
        isForce: true,
        updateButtonTxt: '升级',
        ignoreButtonTxt: '忽略此版本',
        enableIgnore: true, onIgnore: () {
          ToastUtils.waring("忽略");
          dialog.dismiss();
        },
        onUpdate: onUpdate);
  }


属性表


Name Type Default Description
width double 0.618 * screenWidth 弹窗的宽度
title String / 更新标题
updateContent String / 更新内容
onUpdate VoidCallback / 点击更新按钮的回调
titleTextSize double 16.0 标题文字大小
contentTextSize double 14.0 更新内容文字的大小
buttonTextSize double 14.0 按钮文字的大小
themeColor Color Colors.red 主题颜色(按钮、进度条的颜色)
progressBackgroundColor Color 0xFFFFCDD2 进度条背景的颜色
topImage Image / 更新弹窗顶部的图片
extraHeight double 5.0 距离顶部图片的拓展高度
radius double 4.0 弹窗圆角大小
enableIgnore bool false 是否开启忽略版本的按钮
updateButtonText String '更新' 更新按钮的文字
ignoreButtonText String '忽略此版本' 忽略按钮的文字
isForce bool false 是否强制更新(是否有关闭的按钮)
onIgnore VoidCallback / 点击忽略按钮的回调


相关文章
|
2月前
|
开发者 Windows
Flutter笔记:Widgets Easier组件库(9)使用弹窗
Flutter笔记:Widgets Easier组件库(9)使用弹窗
74 3
|
2月前
|
UED 开发者
Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗
Flutter笔记:Widgets Easier组件库(13)- 使用底部弹窗
42 2
|
3月前
|
UED
Flutter弹窗链-顺序弹出对话框
Flutter弹窗链-顺序弹出对话框
34 0
|
存储 前端开发
Flutter 实现多选底部弹窗
本篇介绍了底部弹窗实现多选的方式,其中实现的方式还可以有很多种,例如直接在自定义组件中使用有状态组件。这里介绍的方法可以作为一个参考,通过动态构建有状态组件能够简单快速地实现底部弹窗的多选功能。
677 0
Flutter 实现多选底部弹窗
|
容器
Flutter 底部弹窗ModelBottomSheet详解
本篇介绍了三种 ModalBottomSheet 的方式,实际开发过程中,还可以根据需要,利用 ModalBottomSheet的 builder 方法构建自定义的底部弹窗,满足业务需要。
1182 0
Flutter 底部弹窗ModelBottomSheet详解
flutter自定义弹窗
今天接到这样一个需求,需要自定义弹窗,所以就有了如下的代码: 通过分析,一切皆widget 所以可以这样实现:
363 0
|
4月前
|
开发框架 前端开发 测试技术
Flutter开发常见问题解答
Flutter开发常见问题解答
|
2天前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
18 7
|
21天前
|
JSON Dart Java
flutter开发多端平台应用的探索
flutter开发多端平台应用的探索
27 6
|
21天前
|
JSON Dart Java
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)