Androidanimation旋转

我做了一些挖掘Android代码,并看到在不确定的进度条中的使用。 尝试使用此标记创build我自己的绘图后:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner_pia" android:pivotX="50%" android:pivotY="50%" android:framesCount="12" android:frameDuration="100" /> 

我得到一个错误:“包'android'中找不到属性'frameDuration'的资源标识符 – 这意味着frameDuration是一个私有属性。 有没有办法使用这个“animation旋转”function?

我的任务是replace系统的默认不确定进度条。 我希望尽可能使用尽可能less的代码(如果可能,只需更改一些属性)。 使用ProgressBar视图,设置:

 android:indeterminateOnly="true" android:indeterminateBehavior="cycle" android:indeterminateDuration="3500" android:indeterminateDrawable="@drawable/pia_sivuvator" 

并指向“@ drawable / pia_sivuvator”这个对象将使我的任务,如他们来,但我坚持这些私人属性。

帮帮我?

我遇到了完全相同的问题。 您可以排除这些参数(framesCount和frameDuration),它可能适用于您。 我试图排除他们,它animation很好,但我设置的宽度/高度没有得到尊重,所以我最终创build了一个简单的旋转animation和一个ImageView来应用它。 这是animation文件(res / anim / clockwise_rotation.xml):

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:interpolator="@android:anim/linear_interpolator" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="1000" android:startOffset="0" /> 

然后,您只需膨胀animation,设置重复次数,然后从视图中启动它

 Animation rotation = AnimationUtils.loadAnimation(this, R.anim.clockwise_rotation); rotation.setRepeatCount(Animation.INFINITE); myView.startAnimation(rotation); 

而不是创build一个animation(需要更多的代码,不仅是XMLconfiguration),而是使用layer-list作为可绘制资源。 有趣的是, layer-listanimated-rotate更stream畅。

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:drawable="@drawable/spinner_loading" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="360"/> </item> </layer-list> 

当然,马里奥·伦奇(Mario Lenci)写道:

 <style name="YourProgressBarStyle" parent="@android:style/Widget.ProgressBar"> <item name="android:indeterminateDrawable">@drawable/progress_bar_indeterminate</item> </style> 

我不知道如何解决私有属性,我有同样的问题。

顺便说一句,如果你想改变ProgressBar的这些属性:

 android:indeterminateOnly="true" android:indeterminateBehavior="cycle" android:indeterminateDuration="3500" android:indeterminateDrawable="@drawable/pia_sivuvator" 

您可以使用Styles框架在values/styles.xml文件中定义一个扩展了标准android的ProgressBar风格:

 <style name="YourProgressBarStyle" parent="@android:style/Widget.ProgressBar"> <item name="android:indeterminateDrawable">@drawable/progress_bar_indeterminate</item> </style> 

然后将其应用于xml布局文件中的进度条。

 ... <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/YourProgressBarStyle"/> ... 

我通过使用这个可绘制的XML来解决这个问题。 尽pipe在Android的新版本中它似乎只是平滑的:

 <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/spinner_pia" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:toDegrees="1080" /> 

这里是旋转animation的简单解释试试这个会帮助你

http://androidtutorials60.blogspot.in/2013/09/simple-rotate-animation-in-android.html

 <rotate xmlns:android="”http://schemas.android.com/apk/res/android”"> android:duration="4000" android:fromdegrees="0" android:pivotx="50%" android:pivoty="50%" android:todegrees="360" android:toyscale="0.0" </rotate>