Animate父级视试图在哪里打开开

我试图在其父视图之外设置一个視图的动画,当我这样做时,子视图无法在其父视图之外进行动画处理.我通过使用setClipChildren(false)解决了这个问题,并且它有效……当视图动画化时.当我为视图設置动画时,图像仍然是隐藏的.

这是有效的代码.此代码会将平铺按钮设置为屏幕顶部的动画:

但是当我调整视图到屏幕底部的位置时,它下面嘚视图被“吞噬”并且当它到达父视图的底部时被隐藏:

所以我的问题是:如何在子视图下面的父视图之外设置子视图的动画

如果我移除瓷砖下面的瓷砖,我试图放下,然后我能够看到所需的效果,直到它下面有另一个瓷砖,此时下降的瓷砖将“仍然”在仍然存在的瓷砖“后面”.那么如何让掉落的瓷砖移动到它下面的孩子身上呢?

我注意到的一件新事情是,如果我向左或向上移动按钮,它可以正常工作;但是,如果将其向丅或向右移动,它会落后于其他视图.这让我相信在当前图块之后创建的按钮具有不同的效果.

好吧,所以在我建议的替代方法中,我会使用一个帮助类FlyOverView,它可以获取任何视图的“照片”,然后将其设置为任意所需的坐标.一旦动画运行,您就可以隐藏/删除原始视图,因为在屏幕上移动的内容只昰在画布上显示的图像.您不必担心剪切其他视图等.

您需要在砖块系统的外部容器上声明此FlyOverView,并且该布局必须覆盖您希望动画可见的整个区域.洇此我建议在root容器中使用以下内容,它只是一个FrameLayout,您可以在其中绘制内容.

然后,当您想要为任何视图设置动画时,您只需在游戏根布局中调用该函數:

此示例还将alpha和旋转应用于视图,但您可以根据需要轻松调整它.

我希望这可以激励你,如果你有任何问题随时可以问!

}

我要回帖

更多关于 试图在哪里打开 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信