具有非标准行为的Android Custom TreeView

时间:2014-07-26 02:32:35

标签: java android treeview

我在应用程序开发中的任务之一是显示目录树。就我而言,它是商品和服务的树。我看到了解决这个问题的几种方法:

  • 每个文件夹的内容显示在单独的Activity中,作为
    在文件管理器中完成。 (这种方法不适合我们)

  • 尝试通过将ExpandableListView插入每个实现TreeView 其他以获得更高水平的筑巢。或使用和改进现成的 解决方案,例如:

    https://github.com/Polidea/tree-view-list-android

  • 用干净的石板开发。

开发中的其他困难是我发明的非标准视图行为。以下内容的本质:

  • 当您单击列表项目目录时,此元素将升至顶部 屏幕并固定在标题中(见图)。

  • 下一个列表项,固定在屏幕底部 (页脚)。

  • 这些项目之间的所有空白区域都包含了内容 目录,我们选择。同时,这个内容可以 滚动。附加的顶部和底部列表项应保持不变。

  • 里面的目录也可能包含一个目录。在选择小孩的时候 目录所有上述步骤都是为他重复的。

关于上述内容,如果您发送正确的方向并建议采用哪种方法来选择开发并朝着正确的方向有效地发展,我将不胜感激:)。谢谢。

我的树: http://i.stack.imgur.com/uhpEn.jpg

1 个答案:

答案 0 :(得分:0)

您可以使用树视图。
这是我们如何做到的简短指南:

  • 创建一个树视图,让它使用内部ListView作为单个子项。
  • 创建一个TreeObject类,它存储扩展状态并引用父项和子项。
  • 每次点击列表视图时,
  • 更新所点击的树对象的状态,并过滤列表内容,只包含"可见"元件。
  • 实现ListViewAdapter来处理它,并编写一个显示句柄的getView()方法,并进行必要的缩进。