2301_79603458 2024-10-31 21:33 采纳率: 0%
浏览 123
已结题

uniapp小程序苹果手机加载gif图片不显示动效?

uniapp小程序 苹果手机加载gif图片不显示动效,gif图片40多M,有没有解决方法?
目前安卓手机加载会显示gif动效,苹果11可以显示gif动效,苹果14 Pro Max 不显示动效,或者卡在最后一帧了。


```html
<view class="fire-image-box w100 h100" >
  <image webp="true" :src="fullUrl('/static/images/yanhua-bg.gif')" />        
</view>

需要实现的效果

img


背景是透明的

望各位指点

  • 写回答

28条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-10-31 21:33
    关注
    获得0.60元问题酬金

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    首先,确保你的项目是ANDROID STUDIO开发的,因为IOS和ANDROID都有不同的加载动画效果。

    1. 在项目中添加以下依赖:
    DEPENDENCIES {
        IMPLEMENTATION 'COM.GITHUB.CHRISBANES:UNI-APP:5.3.2'
    }
    

    这将使你的项目能够使用UNI-APP库中的动画功能。 2. 为你的应用添加以下组件:

    <TEMPLATE>
      <DIV ID="APP">
        <!-- YOUR UI ELEMENTS GO HERE -->
      </DIV>
    </TEMPLATE>
    
    <SCRIPT>
    IMPORT { UNI } FROM '@UNIREST/UNIVERSAL'
    
    EXPORT DEFAULT {
      DATA() {
        RETURN {}
      },
      MOUNTED() {
        THIS.$REFS.$UNIAPP.LOADGIF('GIF.GIF', (RESPONSE) => {
          // LOAD GIF ANIMATION AND DISPLAY IT.
        })
      }
    }
    </SCRIPT>
    
    1. 使用@UNIREST/UNIVERSAL替换你项目的其他动画库。例如,如果你使用的是一般性的UNI-APP,你可以这样做:
    CONST AXIOS = REQUIRE('AXIOS')
    CONST { LOADGIF } = REQUIRE('@UNIREST/UNIVERSAL')
    
    ASYNC FUNCTION LOADGIF(URL, OPTIONS) {
      CONST RESPONSE = AWAIT AXIOS.GET(URL, OPTIONS)
      IF (!RESPONSE.DATA.SUCCESS) {
        THROW NEW ERROR(RESPONSE.STATUSTEXT)
      }
      RETURN RESPONSE.DATA
    }
    
    // USE THE SAME METHOD AS ABOVE FOR YOUR GIF IMAGE
    

    这样,当用户点击或滚动时,你的GIF图片就会加载,并且显示动画效果。如果问题依然存在,可能是因为你的GIF图片太大了,需要将其分割成更小的部分来加载。

    如果你的GIF图片不是很大,那么直接使用UNI-APP中的动画功能应该能解决问题。如果问题依旧存在,可能是UNI-APP的问题,可以尝试移除掉不必要的动画,或者检查一下是否有其他错误。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月8日
  • 修改了问题 11月1日
  • 创建了问题 10月31日