我想从屏幕底部滑动视图并折叠另一个视图一点点一切都会正确适合。平滑animateLayoutChanges动画
我设法做到这一点与属性animateLayoutChanges
和2简单的xml动画slid_up.xml
和slid_down.xml
。
我的问题是发生在ViewPager
从属性animateLayoutChanges
发生的动画不光滑。
有没有办法解决这个问题?
slid_up.xml
<translate
android:duration="1000"
android:fromYDelta="100%"
android:toYDelta="0" />
</set>
slid_down.xml
<translate
android:duration="1000"
android:fromYDelta="0"
android:toYDelta="100%" />
</set>
附:我试图创建自定义动画师作为高度动画师,但它与视图的原始高度混乱。
HeightResizeAnimation
public class HeightResizeAnimation extends Animation {
private View mView;
private float mToHeight;
private float mFromHeight;
private int duration = 300;
public HeightResizeAnimation(View v, float offset) {
mView = v;
mToHeight = v.getHeight() + offset;
mFromHeight = v.getHeight();
setDuration(duration);
}
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
float newHeight = (mToHeight - mFromHeight) * interpolatedTime + mFromHeight;
mView.getLayoutParams().height = (int) newHeight;
mView.requestLayout();
}
}
动画后高度将不再像match_parent
这是动画之前。
你可以看到晶圆厂动画到底是不是也顺利的viewpager该晶圆厂孩子
你可以发布你想要动画的视频,我们会相应地更新。如果使用动画属性,则不需要requestLayout()。 –
requestLayout并不完全是一个问题,HeightResizeAnimation的问题在于,如果将视图从纵向更改为横向,则高度将不再是match_parent,该位置是我添加的动画 – gmetax
@AnuragSingh以及视频和gif正在播放我喜欢 – gmetax