更新记录

1.0.61(2025-01-20) 下载此版本

stoppedFrame 参数默认空字串,表示不启用停止帧处理

1.0.6(2025-01-20) 下载此版本

bsx-animation-view 支持停止动画时指定帧结束;props : stoppedFrame:string -> start or end Android lottie 升级依赖版本 为 5.2.0


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.10,Android:5.0,iOS:11,HarmonyNext:不支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

animation-view

animation-view组件是uts插件,需 HBuilderX 3.7.0+

使用文档:https://uniapp.dcloud.net.cn/component/animation-view.html

属性说明

属性名 类型 默认值 说明
stoppedFrame String 空字符串 不启用 停止播放动画后的帧位置,start 起始帧 end结束帧
path String 动画资源地址,支持本地路径和网络路径
loop Boolean false 动画是否循环播放
autoplay Boolean true 动画是否自动播放
action String play 动画操作,可取值 play、pause、stop
hidden Boolean true 是否隐藏动画
@bindended EventHandle 当播放到末尾时触发 ended 事件(自然播放结束会触发回调,循环播放结束及手动停止动画不会触发)

注意

  • animation-view 仅App端nvue页面支持
  • App端实现使用了Lottie三方SDK,参考开源项目:Lottie for AndroidLottie for iOS
  • App-Android平台要求Android5(API Leavel 21)及以上系统
  • App-iOS平台要求iOS11及以上版本系统

代码示例

<template>
    <!-- 使用 bsx-animation-view 传入stoppedFrame 停止播放时指定帧位置 -->
    <bsx-animation-view class="animation" :stoppedFrame="stoppedFrame" :path="path" :loop="loop" :autoplay="autoplay" :action="action"
        :hidden="hidden" @bindended="lottieEnd">
    </bsx-animation-view>

    <div>
        <animation-view class="animation" :path="path" :loop="loop" :autoplay="autoplay" :action="action"
            :hidden="hidden" @bindended="lottieEnd">
        </animation-view>
        <button @click="playLottie" type="primary">{{status}}lottie动画</button>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                stoppedFrame:'', // 默认空字串不启用,start 停在起始帧 end停在结束帧
                path: 'https://b.bdstatic.com/miniapp/images/lottie_example_one.json',
                loop: false,
                autoplay: false,
                action: 'play',
                hidden: false,
                status: '暂停'
            }
        },
        methods: {
            playLottie() {
                this.action = ('play' !== this.action) ? 'play' : 'pause';
                this.status = ('pause' === this.action) ? '播放' : '暂停';
            },
            lottieEnd() {
                this.status = '播放';
                this.action = 'stop';
                console.log('动画播放结束');
            }
        }
    }
</script>

<style>
    .animation {
        width: 750rpx;
        height: 300rpx;
        background-color: #FF0000;
        margin-bottom: 20px;
    }
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问