ViewFlipper动画和minSdkVersion

时间:2010-12-24 10:22:01

标签: android animation google-play viewflipper

昨天我向市场上传了一个应用程序,我不得不将uses-sdk android:minSdkVersion="4"项添加到Manifest文件中。添加此项后,我从ViewFlipper小部件中获得了一个奇怪的行为。没有minSdkVersion,视图Flipper正在使用动画而没有问题,在添加它之后它会忽略它们,或者至少看起来没有使用动画。我还测试了minSdkVersion =“8”,但很遗憾它没有帮助让动画工作。还尝试添加:(uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"),相同的行为。从显示中删除minSdkVersion项(本地测试)使ViewFlipper像魅力一样工作。 Market不允许我在Manifest中上传没有minSdkVersion项目的APK。

有人知道这是什么吗?在我看来,这真的是一种奇怪的行为,它确实降低了应用程序的质量/用户体验。如果有人知道如何解决这个问题,请帮忙。

我是如何使用鳍状肢翻阅内容的代码。

// call for the flipper to show the next item
flipper.setInAnimation(AnimationHelper.inFromLeftAnimation());
flipper.setOutAnimation(AnimationHelper.outToRightAnimation());
flipper.showNext();

// animation example method
public static Animation inFromRightAnimation() {
  Animation inFromRight = new TranslateAnimation(
  Animation.RELATIVE_TO_PARENT, +1.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f,
  Animation.RELATIVE_TO_PARENT, 0.0f);
  inFromRight.setDuration(150);
  inFromRight.setInterpolator(new AccelerateInterpolator());
  return inFromRight;
}

// XML: current Android manifest config for minSdkVersion
<uses-sdk android:minSdkVersion="4" 
 android:targetSdkVersion="8" 
/>

谢谢大家和最诚挚的问候, 米蒂亚

1 个答案:

答案 0 :(得分:1)

实际上我遇到了与你上面说的类似的问题。在将minSdkVersion设置为4或更高时,将减少每个动画的性能。而基准测试日志表明,Animation.applyTransformation和Animation.getTransformation之间的第一个时间间隔从3-6ms变为100-200ms,这就是重点,但我没有时间检查更多源代码以找出原因。现在,我正在使用的解决方案是将minSdkVersion设置为3或更低。糟糕的代码,但有效,希望有用。