要做到这一点,您需要:1."关闭"项目所在的位置.2."打开"列表中的一个插槽,该项目将"落地".3.在插槽之间移动项目.
要实现第一个动画,您需要为列表项视图本身设置动画.为了使其消失,您可以设置其底部边距的值的动画.我写了一篇关于我在Any.DO中做过的其他动画的博客文章,在那里我给这个值添加了动画 - http://udinic.wordpress.com/2011/09/03/expanding-listview-items/.您可以使用相同的动画为列表项的视图设置动画.
"开放"动画与关闭动画相同,但方向相反.您将列表项目放在"着陆点"之前,并向下调整其底部边距,为新项目创建一个空白空间.
在位置之间移动项目相当容易.您需要使用与列表项相同的布局来扩展视图,使用当前项的数据填充它,将其添加到WindowManager:
WindowManager winManager = (WindowManager) Context.getSystemService(Context.WINDOW_SERVICE);
winManager.addView(..)
Run Code Online (Sandbox Code Playgroud)
并使用以下方法为其坐标设置动画:
winManager.updateViewLayout(..);
Run Code Online (Sandbox Code Playgroud)
动画完成后 - 您可以删除此视图并刷新列表.
添加项目动画使用相同的概念完成.
对不起,我在这里没有完整的资源.在我的博客文章中,您可以找到展开/关闭动画的代码.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4051 次 |
| 最近记录: |