安卓Listview: 拉动时高度问题

3

很抱歉问题标题不太合适,

我有一个列表视图,可以实现拖放功能。它支持两个方向,向上和向下。在向下的方向上,我只是给了更多的高度(60dp正常,更多的高度是120dp)。

列表项包含一个文本视图和一个图像视图。问题出现在我向上拖动时,我希望保持相同的列表高度,但是不同于默认行为[列表项向下增长...],列表项应该向上移动,并且必须保持相同的120dp高度。

这就是发生的情况[向下的方向]

=========================
TextView


[*this denotes the height is 120dp downwards*]

=========================

我需要的是这个[向上方向]

========================



[*this denotes the height is 120dp upwards*]

TextView
========================

如何可能实现呢?


澄清一下 - 据我所了解,您想要能够将新项目添加到列表顶部。此外,随着列表的增长,列表底部的项目保持不变,并且垂直滚动条的大小减小。本质上是一个反向的ListView。这正确吗? - Rajath
很抱歉,但你并不正确。它不添加或删除任何内容...只是用拖放重新排列项目...大多数情况下根本没有滚动视图... - Prasham
3个回答

0

您能否重新表达您的问题?您有什么要求吗?半相关的是,所有在listview/scrollview中的动作事件都被滚动视图消耗了。这会让您很难将项目从listview中拖出来。


问题不在于拖动,而是当列表视图的项目给予更多高度时,它向下增长,我希望它根据某些条件向上增长。 - Prasham
@Prasham,你能不能不让它向下增长,而是使用移动布局和visibilty="gone"以及smoothScrollByOffset(int)的组合?这样可以给人一种它向上扩展的感觉。 - Blundell
@Blundell smoothScrollByOffset 方法支持 API 等级 11,但我需要支持 API 等级 7... 我对这种方法并不乐观。 - Prasham
@Prash 对不起,但是有一些你可以查看的变体,比如 setSelectionFromTop(int position, int y) API lvl 1。我意识到这并不理想。 - Blundell

0

请查看音乐应用程序中this拖放的实现。


您提供的链接已经失效。 - Zeeshan

0

你也可以从Mark Murphy的实现中获取灵感:cwac-touchlist


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接