flutter在分享

弹窗统一化

项目简介

此项目为移动端开发弹窗库,包含了各端使用的公共弹窗,几种基本动画等。(目前分成5类弹窗样式,2类Toast样式及5类动画)

使用方法

根据UI给出弹窗样式及动画,调用不同方法以实现样式

弹窗部分

一,
/// 样式中一定带内容,可带图片,title和按钮的样式
  /// - Parameters:
  ///   - img: 展示的图片头部View,可不传
  ///   - title: 展示的标题,可不传
  ///   - content: 展示的内容,必传
  ///   - confirm: 确认按钮,可不传,默认文案为确定
  ///   - cancel: 取消按钮,可不传,不传则默认展示一个按钮
  /// - Returns: 返回所展示view
  @objc public class func popupsTipContent(imgView: UIImageView? = nil, title: String? = nil, content: String , confirm: String? = nil, cancel: String? = nil, style: EKPopStyle = EKPopStyle()) -> EKPopupsView
  {
    let btnNameTuples = btnTextDefalut(confirmStr: confirm, cancel: cancel)
    
    return EKPopupsView.innerView(imgView, title: title, content: content, confirm: btnNameTuples.confirmTitle, cancel: btnNameTuples.cancelTitle, style: style)
  }

用该方法实现UI设计的以下几种样式:
在这里插入图片描述
在这里插入图片描述

二,
/// 弹窗中包含内容,平铺按钮,可能包含标题的样式
  /// - Parameters:
  ///   - title: 标题文案
  ///   - content: 内容文案
  ///   - confirm: 确认按钮文案
  ///   - cancel: 取消按钮文案
  /// - Returns: EKPopupsView弹窗
  @objc public class func popupsContentTile(popTitle title: String? = nil, content: String, confirm: String? = nil, cancel: String? = nil, style: EKPopStyle = EKPopStyle()) -> EKPopupsView
  {
    let btnNameTuples = btnTextDefalut(confirmStr: confirm, cancel: cancel)
    
    return EKPopupsView.ContentView(title, content: content, confirm: btnNameTuples.confirmTitle, cancel: btnNameTuples.cancelTitle, style: style)
  }

用该方法实现UI设计的以下几种样式:
在这里插入图片描述

三,
  /// 外部有图片类弹窗
  /// - Parameters:
  ///   - image: 展示的图片头部View
  ///   - title: 标题文案
  ///   - content: 内容文案
  ///   - confirm: 确定按钮文案
  ///   - cancel: 取消按钮文案
  /// - Returns: 外部有图片类弹窗
  @objc public class func popupsOutView(imgView: UIImageView? = nil, title: String? = nil, content: String, confirm: String? = nil, cancel: String? = nil, style: EKPopStyle = EKPopStyle()) -> EKPopupsView
  {
      let btnNameTuples = btnTextDefalut(confirmStr: confirm, cancel: cancel)
    
      return EKPopupsView.outImageView(imgView, title: title, content: content, confirm: btnNameTuples.confirmTitle, cancel: btnNameTuples.cancelTitle, style: style)
  }

用该方法实现UI设计的以下几种样式:
在这里插入图片描述

四,
/// 弹窗内上图下包含list,title的样式
/// - Parameters:
///   - image: 展示的图片头部View
///   - title: 标题文案
///   - content: 内容文案
///   - confirm: 确定按钮文案
///   - cancel: 取消按钮文案
/// - Returns: 带list弹窗
@objc public class func popupsListView(imgView: UIImageView? = nil, title: String? = nil, content: String, confirm: String? = nil, cancel: String? = nil, style: EKPopStyle = EKPopStyle()) -> EKPopupsView
{
    let btnNameTuples = btnTextDefalut(confirmStr: confirm, cancel: cancel)

    return EKPopupsView.pushTipView(imgView, closeImage: nil, title: title, content: content, confirm: btnNameTuples.confirmTitle, cancel: btnNameTuples.cancelTitle, style: style)
}

用该方法实现UI设计的以下几种样式:
在这里插入图片描述

五,
/// 只有一张图片的弹窗
/// - Parameter image: 弹窗的图片显示
/// - Returns: 只带图片的弹窗
@objc public class func grandUpgradeView(_ image: UIImageView) -> EKPopupsView
{
    let popView = EKPopupsView.init()
    popView.innerView = image
    popView.grandTipView()
    return popView
}

此方法实现只有一张图片的样式
在这里插入图片描述

Toast部分:

一,
1,
    self.view.makeToast("请在阅读并同意用户协议和隐私政策后使用")
 2,
    let img = UIImage.imageWithColor(UIColor.red)
    self.view.makeToast(image: img, message: "没有填入分数,请重添")

在这里插入图片描述

二,
通过创建EKWLoadProgressView实例,来实现下载toast展示

在这里插入图片描述

动画部分:

根据UI给出动画,实现5种动画实现

///用来控制几种默认动画的展示
public enum AnimationType
{
 case none;
 case scale;             ///一般弹窗微小缩放效果
 case version;           ///类似新版本出来效果
 case question;          ///考试中切换题型效果,微小缩放
 case popUpSucess;       ///pk挑战成功页面,缩放有弹簧回弹效果
 case popUpFail;         ///pk挑战失败,从左边平移出来,平移到右侧消失
 case popLocScale;       ///根据具体位置放大
}

//在show方法中调用
如不传值,则没有动画显示小火

以上内容在pod 的 example 中均有实现,具体可下载查看使用。

功能实现

1,点击按钮回调可通过vc.addClickBlock方法添加。
2,传递imageView二级标题可通过外部定义UIlabel实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Flutter中使用友盟分享,首先需要在项目中添加友盟分享的插件。可以使用flutter_umeng_share插件,它提供了友盟分享的各种功能。 1. 在pubspec.yaml文件中添加依赖: ``` dependencies: flutter_umeng_share: ^2.0.0 ``` 2. 在项目中集成友盟分享SDK: 在Flutter项目的MainActivity.java文件中,添加以下代码: ``` import com.umeng.socialize.UMShareAPI; public class MainActivity extends FlutterActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); GeneratedPluginRegistrant.registerWith(this); UMShareAPI.get(this);//添加这一行 } } ``` 3. 初始化友盟分享SDK: 在项目中的main.dart文件中,添加以下代码: ``` import 'package:flutter_umeng_share/flutter_umeng_share.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await FlutterUmengShare.init( androidKey: 'your_umeng_android_app_key', iosKey: 'your_umeng_ios_app_key'); runApp(MyApp()); } ``` 其中,'your_umeng_android_app_key'和'your_umeng_ios_app_key'需要替换为你自己的友盟App Key。 4. 使用友盟分享: ``` import 'package:flutter_umeng_share/flutter_umeng_share.dart'; //分享文本 FlutterUmengShare.shareText('This is a test.'); //分享图片 FlutterUmengShare.shareImage(imagePath: 'image_path', text: 'This is a test.'); //分享链接 FlutterUmengShare.shareWeb( url: 'https://www.example.com', title: 'This is a test.', description: 'This is a test.', thumb: 'thumb_image_path'); ``` 以上就是在Flutter中使用友盟分享的基本步骤。你可以根据自己的需求,选择更多的分享方式,例如分享音乐、视频等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值