Android 如何根据屏幕上的各种宽度/高度设备设置objectAnimator的valueFrom/valueTo
android.app.fragment的自定义动画只能支持属性animator 通过transaction.setCustomAnimations(),动画Android 如何根据屏幕上的各种宽度/高度设备设置objectAnimator的valueFrom/valueTo,android,animation,android-fragments,android-animation,objectanimator,Android,Animation,Android Fragments,Android Animation,Objectanimator,android.app.fragment的自定义动画只能支持属性animator 通过transaction.setCustomAnimations(),动画 <set> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:propertyName="X" android:valueTy
<set>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:propertyName="X"
android:valueType="floatType"
android:valueFrom="-720"
android:valueTo="0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fillAfter="false">
<alpha
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.7" />
<translate
android:fromXDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="-100%p" />
<scale
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="0.9"
android:toYScale="0.9" />
</set>
但是android.support.v4.fragment的自定义动画可以通过transaction.setCustomAnimations()支持帧/帧间动画,例如
<set>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:propertyName="X"
android:valueType="floatType"
android:valueFrom="-720"
android:valueTo="0" />
</set>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fillAfter="false">
<alpha
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.7" />
<translate
android:fromXDelta="0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXDelta="-100%p" />
<scale
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%p"
android:pivotY="50%p"
android:toXScale="0.9"
android:toYScale="0.9" />
</set>
现在我已经在我的项目中使用了android.app.fragment,因此片段的切换动画只能使用objectAnimator,但问题是如何根据各种宽度/高度屏幕设置valueFrom/valueTo?如何设置objectAnimator以使用屏幕的百分比或分数可能会对您有所帮助。在stackoverflow和一些博客上有很多解决方案:我通过重写片段的根布局视图setXFraction/getXFraction方法解决了这个问题。你的博客对我也很有帮助。非常感谢!