ViewFlipper 动画和 minSdkVersion
昨天我向市场上传了一个应用程序,我必须将 uses-sdk android:minSdkVersion="4"
项添加到 Manifest 文件中。添加此项目后,我的 ViewFlipper 小部件出现了奇怪的行为。如果没有 minSdkVersion,视图 Flipper 使用动画没有问题,添加它后它会忽略它们,或者至少看起来没有使用动画。我还使用 minSdkVersion="8" 进行了测试,但遗憾的是它无助于让动画正常工作。还尝试添加两者:(uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"
),相同的行为。从清单中删除 minSdkVersion 项目(本地测试)使 ViewFlipper 工作起来就像一个魅力。市场不允许我上传清单中没有 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"
/>
谢谢大家并致以最诚挚的问候, 米贾
yesterday I uploaded an application to the market and I had to add the uses-sdk android:minSdkVersion="4"
Item to the Manifest file. After I add this item, I get a strange behavior from my ViewFlipper widget. Without the minSdkVersion the view Flipper is using animations without a problem, after adding it it ignores them or at least it seems that no animation is used. I also tested with minSdkVersion="8" but saddly it didin't help to get the animation working. Also tried adding both: (uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"
), same behavior. Removing the minSdkVersion item from the manifes (local testing) makes the ViewFlipper work like a charm. Market does not let me upload an APK without minSdkVersion item in Manifest.
Does anybody know what this is all about? It's really a strange behavior in my opinion and it really lowers the quality / user experience of the app. Please help if somebody knows how to fix this.
Code snippen of how I use the flipper to flip through content.
// 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"
/>
Thank you all and best regards,
Mitja
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
其实我也遇到过和你上面说的类似的问题。将 minSdkVersion 设置为 4 或以上时,每个动画的性能都会降低。基准日志表明,Animation.applyTransformation 和 Animation.getTransformation 之间的第一次时间间隔从 3-6ms 更改为 100-200ms,这就是重点,但我没有时间检查更多源代码来找出原因。现在,我使用的解决方案是将 minSdkVersion 设置为 3 或更低。糟糕的代码但可以工作,希望有用。
Actually I have met similar problem as what you say above. Performance of every animation will be cut down while setting minSdkVersion to 4 or above. And benchmark logs tell that first time interval between Animation.applyTransformation and Animation.getTransformation changes from 3-6ms to 100-200ms, that's the point, but I have no time to check more source code to find out why. Now, the solution I'm using is to set minSdkVersion to 3 or below. Bad code but works, hope useful.