我正在尝试实现滑动动画从fragment1转换到fragment2,如this image.
首先,我尝试用set和translate实现xml,但是我得到了RuntimeException“UnkNown animator name translate”.
<?xml version="1.0" enCoding="utf-8"?><set xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:interpolator="@androID:anim/accelerate_interpolator"> <translate androID:fromXDelta="0%p" androID:toXDelta="-100%p" androID:duration="500"> </translate></set>
其次,我试图通过使用扩展framelayout的类来解决问题,并添加“getXFraction”和“setXFraction”方法,如this post
public class SlIDingFrameLayout extends FrameLayout{ private static final String TAG = SlIDingFrameLayout.class.getname(); public SlIDingFrameLayout(Context context) { super(context); } public SlIDingFrameLayout(Context context, AttributeSet attrs) { super(context, attrs); } public float getXFraction() { final int wIDth = getWIDth(); if(wIDth != 0) return getX() / getWIDth(); else return getX(); } public voID setXFraction(float xFraction) { final int wIDth = getWIDth(); setX((wIDth > 0) ? (xFraction * wIDth) : -9999); } public float getYFraction() { final int height = getHeight(); if(height != 0) return getY() / getHeight(); else return getY(); } public voID setYFraction(float yFraction) { final int height = getHeight(); setY((height > 0) ? (yFraction * height) : -9999); }}
但我仍然不知道我应该如何使用SlIDingFrameLayout?
请帮我. T___T
解决方法:
您需要使用objectAnimator而不是translate.以下是一些带有示例的帖子:Animate the transition between fragments和Android Fragments and animation
总结以上是内存溢出为你收集整理的Android – 点击列表项时滑动片段全部内容,希望文章能够帮你解决Android – 点击列表项时滑动片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)