我想通过屏幕特定X Y位置的翻译动画制作动画布局。这发生得非常正确。现在问题开始时动画完成布局再次转到屏幕的顶部rihgt角落。我希望布局保持在动画结束的相同位置。
AnimationListener animationListener = new AnimationListener() {
@Override
public void onAnimationEnd(Animation arg0) {
drawer_layout.setVisibility(View.VISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation animation) {
drawer_layout.setVisibility(View.VISIBLE);
}
};
final Animation animTranslate = AnimationUtils.loadAnimation(this,
R.anim.top_to_bottom_in);
animTranslate.setAnimationListener(animationListener);
drawer_layout = (LinearLayout) findViewById(R.id.drawer_layout);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// bitmapBackground = CaptureBackground();
faded_layout.setBackgroundColor(Color.parseColor("#50ffffff"));
// HandleDropAnimation(drawer_layout);
drawer_layout.startAnimation(animTranslate);
}
});
这是我的xml。
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromYDelta="25%p"
android:toYDelta="50%p" />
答案 0 :(得分:2)
致电
animTranslate.setFillAfter(true);
。根据{{3}}:
如果fillAfter为true,则此动画执行的转换将在完成时保持不变。
答案 1 :(得分:1)
在动画开始前使用
animTranslate.setFillAfter(true);