我有一个LinearLayout
。我的布局第一次消失,点击按钮我用左到右动画看到它。这是我的来源:
public void ShowSlideMenu(LinearLayout layout)
{
if(layout.getVisibility()==View.GONE)
{
if(LeftSwipe==null)
LeftSwipe=AnimationUtils.loadAnimation(getActivity(),R.anim.slide_menu_lefttoright);
layout.startAnimation(LeftSwipe);
layout.setVisibility(View.VISIBLE);
}
}
这是xml动画代码:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="true">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
动画工作完美,但现在我想添加缓和效果。我读了材料设计动画,我尝试像这种缓和效果一样回归
https://www.google.com/design/spec/animation/authentic-motion.html#authentic-motion-mass-weight
也喜欢这个
http://api.jqueryui.com/easings/ 如果有人知道解决方案,请帮助我谢谢大家
答案 0 :(得分:1)
对此的一种解决方案是在动画集中添加一个interpolator。
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:interpolator="@android:anim/decelerate_interpolator"
android:shareInterpolator="true">
<translate
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
插值器将获取您的动画并在动画持续时间内更改其速度。在示例中,我选择了一个减速插补器,该插补器使动画快速开始播放,然后在动画期间变得越来越慢。