Android - 使用 ViewAnimator 时动画缓慢,是否可以使用硬件加速?
我有以下代码,将视图添加到 ViewAnimator
View step1 = View.inflate(activity, R.layout.step_1, null);
View step2 = View.inflate(activity, R.layout.step_2, null);
viewAnimator.addView(step1);
viewAnimator.addView(step2);
viewAnimator.setInAnimation(activity, R.anim.slide_in);
viewAnimator.setOutAnimation(activity, R.anim.slide_out);
和以下 xmlslide_in
:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700" />
</set>
lide_out:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate android:fromXDelta="0%" android:toXDelta="-100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
现在,一切正常,但是与我手机(三星 Galaxy S)上的本机动画相比,动画的性能看起来缓慢且缓慢。
我使用 API 级别 8,我可以使用任何硬件加速,还是应该改变整个概念的方法?
谢谢一包
I have the following code, that adds views to ViewAnimator
View step1 = View.inflate(activity, R.layout.step_1, null);
View step2 = View.inflate(activity, R.layout.step_2, null);
viewAnimator.addView(step1);
viewAnimator.addView(step2);
viewAnimator.setInAnimation(activity, R.anim.slide_in);
viewAnimator.setOutAnimation(activity, R.anim.slide_out);
and the following xmls
slide_in:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700" />
</set>
slide_out:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate android:fromXDelta="0%" android:toXDelta="-100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
Now, all works fine, however the performance of the animation looks sluggish and slow comparing to the native animations on my phone (Samsung galaxy S).
I use API level 8, can I use any hardware acceleration, or should I change my approach for the whole concept?
Thanks a bundle
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的清单文件中缺少该文件,一旦添加,动画就非常流畅。
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
was missing from my manifest file, once added the animation is super smooth.
它只是一个 2D 动画,这意味着它就像 IE7 Web 浏览器中的 Javascript 一样。
要获得更快的动画,唯一的方法是使用 (OpenGL) RenderScript
使用 API 时通过 3D 获取 HW Accel < v14(ICS)。
Its a 2D animation only, this means it is as in Javascript in the IE7 Web Browser.
To get faster animations the only way is to do it with (OpenGL) RenderScript
to get HW Accel through 3D when using API's < v14 (ICS).