我在银河选项卡上有一个全屏视图翻转器,其中包含两个相对布局,每个布局显示五到十个图像视图。
当我尝试将一个视图翻转器视图滑出而另一个滑入时遇到问题,“动画”什么都不做,然后只是切换。
如果我在每个视图翻转器子项中删除除一个图像视图之外的所有图像视图,则动画很好。
我可以以某种方式强制它为动画使用图像的混合版本,还是相对布局容器导致性能问题?
鳍状肢动画发生时应该没有任何事情发生,所以我无法理解这个问题。
谢谢
编辑:一些有问题的代码:也许这可能表明导致性能问题的区域?
我的 onClick 中有两个方法调用,用于在视图中向后切换和向前切换。视图在被添加到鳍状肢并切换之前立即“生成”。
所以,点击后退按钮(例如)我有(除其他外)....
nextView = new RelativeLayout(this);
makeAView(selectedViewObjects, viewHolder2);
switchViewNow(-1);
currentView = nextView;
...
private void makeAView(ViewObjects vObjects, RelativeLayout nextView)
{
for(Object obj : vObjects.viewObjects)
{
if(obj instanceof Image)
{
addImageView(nextView, obj);
{
else
{
if(obj instanceof Anim)
{
addAnimView(nextView, obj);
}
}
其中 Image 是用于显示静态图像的自定义 View 实现,而 Anim 是用于显示 AnimationDrawable(多帧图像循环)的自定义视图实现。
接下来我们有 switch 方法:
private void switchViewNow(int direction)
{
if(direction == -1)
{
viewFrame.setInAnimation(AnimClass.inFromLeftAnimation(null));
viewFrame.setOutAnimation(AnimClass.outToRightAnimation(null));
viewFrame.showNext();
}
else
if(direction == 1)
{
viewFrame.setInAnimation(AnimClass.inFromRightAnimation(null));
viewFrame.setOutAnimation(AnimClass.outToLeftAnimation(null));
viewFrame.showNext();
}
}