我的应用程序使用标准的 Android TranslateAnimation 来滑动视图进出屏幕。不幸的是,布局似乎相当重:ImageView,一堆文本视图和一个包含文本和图像的 Gallery。有两个视图正在进行动画 - 一个滑出去,另一个滑进来。
问题在于这些动画的性能较低,特别是在 CPU 较弱的设备上。动画看起来不够流畅。
我考虑删除 TranslateAnimations 并尝试捕获视图内容为位图并将其移动为 ImageView。
您有任何关于如何正确完成此类任务的想法以及图像移动方法是否有所帮助的想法吗?
P.S.
我认为我可能使用了错误的动画方式。在 FrameLayout 中有两个视图,一个是可见的,另一个是不可见的。然后我处理触摸事件,并在用户沿着屏幕滑动手指时将 TranslateAnimations 应用于两个视图(在 ACTION_MOVE 上)。因此,它看起来像用户将一个视图从屏幕上拖出,同时从屏幕侧面拉出另一个视图。对于轻量级布局,它运行良好。
view1 = (WeatherInfoView) findViewById(R.id.cell1); view2 = (WeatherInfoView) findViewById(R.id.cell2); view3 = (WeatherInfoView) findViewById(R.id.cell3); view1.setDrawingCacheEnabled(true); view2.setDrawingCacheEnabled(true); view3.setDrawingCacheEnabled(true);
不幸的是,启用绘图缓存后我看不到任何区别。 - basv