【问题标题】:Android Custom TreeView with non-standard behavior具有非标准行为的 Android 自定义 TreeView
【发布时间】:2015-01-02 05:38:37
【问题描述】:

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

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

  • 尝试通过插入 ExpandableListView 来实现 TreeView 其他以获得更高级别的嵌套。或使用和改进现成的 解决方案,例如:

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

  • 从头开始开发。

开发中的额外困难是我发明的非标准视图行为。精髓如下:

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

  • 旁边的列表项,固定在屏幕底部 (页脚)。

  • 这些项目之间的所有空白空间都占用了 我们选择的目录。同时,这个内容可以 滚动。附加的顶部和底部列表项应保留在原位。

  • 目录里面也可能包含目录。当我们选择孩子时 目录上面的所有步骤都为他重复。

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

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

【问题讨论】:

    标签: java android treeview


    【解决方案1】:

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

    • 创建一个树视图并让它使用内部 ListView 作为单个子视图。
    • 创建一个 TreeObject 类,该类存储展开状态并具有对父项和子项的引用。
    • 每次单击列表视图时,都会更新单击的树对象的状态并过滤列表内容以仅包含“可见”元素。
    • 实现 ListViewAdapter 来处理这个问题,并编写一个 getView() 方法来显示句柄,并执行必要的缩进。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-27
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 2012-07-02
      相关资源
      最近更新 更多