android 广告 跑马灯,Flutter实现Android跑马灯及滚动广告

本文详细介绍了如何在Flutter中使用ListView构建垂直和水平滚动的跑马灯效果,包括实现思路、代码实现以及关键逻辑解释。还提到了在页面加载和更新时的滚动初始化方法。
摘要由CSDN通过智能技术生成

简介

本文介绍怎么在Flutter里使用ListView实现Android的跑马灯,然后再扩展一下,实现上下滚动。

该小控件已经成功上传到pub.dev,安装方式:

dependencies:

flutterswitcher: ^0.0.1

效果图

先上效果图:

垂直模式

234fd235120e

垂直滚动

水平模式

234fd235120e

水平滚动

上代码

主要有两种滚动模式,垂直模式和水平模式,所以我们定义两个构造方法。

参数分别有滚动速度(单位是pixels/second)、每次滚动的延迟、滚动的曲线变化和children为空的时候的占位控件。

class Switcher {

const Switcher.vertical({

Key key,

@required this.children,

this.scrollDelta = _kScrollDelta,

this.delayedDuration = _kDelayedDuration,

this.curve = Curves.linearToEaseOut,

this.placeholder,

}) : assert(scrollDelta != null && scrollDelta > 0 && scrollDelta <= _kMaxScrollDelta),

assert(delayDuration != null),

assert(curve != null),

spacing = 0,

_scrollDirection = Axis.vertical,

super(key: key);

const Switcher.horizontal({

Key key,

@required this.children,

this.scrollDelta = _kScrollDelta,

this.delayedDuration = _kDelayedDuration,

this.curve = Curves.linear,

this.placeholder,

this.spacing = 10,

}) : assert(scrollDelta != null && scrollDelta > 0 && scrollDelta <= _kMaxScrollDelta),

assert(delayDuration != null),

assert(curve != null),

assert(spacing !

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值