我有一些基本动画,当它们用于活动之间的转换时,它们就像一个魅力。
问题是,当我在取景器上使用它们时,我看到了非常明显的延迟。这是我活动的代码片段:
private void initUI(){
layoutInflater = LayoutInflater.from(this);
flipViewMain = layoutInflater.inflate(R.layout.flip_view_profile_main, null);
flipListHolder = layoutInflater.inflate(R.layout.flip_view_profile_list, null);
flipDescriptionHolder = layoutInflater.inflate(R.layout.flip_view_profile_description, null);
profileFlipper = (ViewFlipper) findViewById(R.id.profile_flipper);
profileFlipper.addView(flipViewMain);
profileFlipper.addView(flipListHolder);
profileFlipper.addView(flipDescriptionHolder);
flipInNextAnimation = AnimationUtils.loadAnimation(this, R.anim.push_left_in);
flipOutNextAnimation = AnimationUtils.loadAnimation(this, R.anim.push_left_out);
flipInPreviousAnimation = AnimationUtils.loadAnimation(this, R.anim.push_right_in);
flipOutPreviousAnimation = AnimationUtils.loadAnimation(this, R.anim.push_right_out);
}
private void handleFlip(int position){
if(position<currentPosition){
profileFlipper.setInAnimation(flipInPreviousAnimation);
profileFlipper.setOutAnimation(flipOutPreviousAnimation);
} else if(position>currentPosition){
profileFlipper.setInAnimation(flipInNextAnimation);
profileFlipper.setOutAnimation(flipOutNextAnimation);
}
currentPosition = position;
profileFlipper.setDisplayedChild(position);
}
所有的动画都是这样的:
<translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="300"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" />
</set>
我究竟做错了什么?我怎样才能摆脱这种滞后?我想也许我会更好地使用 ViewPager 但它似乎在动画修改方面不是很灵活。谢谢。