您好,欢迎来到花图问答。
搜索
您的当前位置:首页[杂记] 华为手机上旋转动画不动的问题

[杂记] 华为手机上旋转动画不动的问题

来源:花图问答

问题描述

假设有一个 ImageView, 想给它设置一个旋转动画,效果如图:

旋转动画

在布局中,ImageView 这样写:

<ImageView
    android:id="@+id/loading"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/loading_player"
    android:scaleType="fitXY"
    android:visibility="visible"/>
        

其中 "@drawable/loading_player" 写成这样:

<?xml version="1.0" encoding="utf-8"?>
<animated-rotate 
    
    android:drawable="@drawable/loading_player"
    android:duration="100"
    android:pivotX="50%"
    android:pivotY="50%"/>

这本来是一个简单的动画,在大部分手机上都能旋转,但是在华为部分手机(例如p9,android7.0, emui5.0)上就是不动,不知道原因。

解决方法

于是只好在 Java 代码中创建动画,

int fromDegrees = 0;
int toDegrees = 360;
float pivotX = 0.5f;
float pivotY = 0.5f;
mLoadingAnimation = new RotateAnimation(fromDegrees, toDegrees,
        Animation.RELATIVE_TO_SELF, pivotX, Animation.RELATIVE_TO_SELF, pivotY);
mLoadingAnimation.setDuration(1000);
mLoadingAnimation.setRepeatCount(Animation.INFINITE);
mLoadingAnimation.setInterpolator(new LinearInterpolator());
mLoadingView.setAnimation(mLoadingAnimation);
mLoadingAnimation.startNow();

然后华为手机上,这个旋转动画就动了。

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务