【问题标题】:Why there is ListVIew in android?为什么android中有ListVIew?
【发布时间】:2015-04-25 02:04:18
【问题描述】:

我的问题是我们在android中有ListViewGridview

列表视图为

<ListView
  android:id="@android:id/list"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" >
</ListView>

现在假设我为 ListView 设置了所有内容,即适配器,为列表创建了数据。 现在代替 ListView 只需将 GridView 替换为

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:id="@+id/gridview"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent"
   android:numColumns="1"/>

GridView 表现得像ListView 那么为什么会有ListView,如果我们可以通过GridView 实现ListView 的所有功能@ 分配android:numCloumns="1"?列表有什么具体用途吗?

我知道GridView 用于按行和列排列项目。

【问题讨论】:

    标签: android listview gridview


    【解决方案1】:

    查看Android开发者docs,ListView和Gridiew的父类是相同的android.widget.AbsListView
    现在这个类可以用来实现项目的虚拟化列表。并且该类的子类可以将列表的内容以网格、轮播、堆栈等形式显示。

    所以从开发的角度来看,正如您已经指出的那样,您可能能够通过其中任何一个实现相同的效果。

    也许,这个问题的答案在于应用程序设计,还有更多 与某些用例中的用户体验有关。

    列表样式布局适用于那些行为往往目的非常单一的用户。他们来到您的应用程序做一件事:浏览或阅读。以标准的方式向他们展示内容,让他们迷失在其中。
    另一方面,网格视图用于快速访问内容。这是为不安和好奇的人准备的。你的注意力从一个主题或图像转移到下一个,你永远不想在一个地方停留太久。当您厌倦了站立时,您只需单击感兴趣的主题以获取更多详细信息并坐下,这样您就可以慢慢来,完全被迷住了。

    简而言之,列表视图为用户提供了一种遵循用户自然阅读模式的格式,而网格视图则更具干扰性,使其最适合视觉内容。您可以从一个图像跳转到下一个图像,而无需担心顺序或连续性。这一切都是关于发现,只是看到一切。

    检查您的应用程序数据中更重要的内容。对于基于 图像 的内容,最好的选择是网格视图。对于基于数据的内容,更好的选择是列表视图。

    此外,网格视图还提供了一个附加功能:网格列表可以垂直或水平滚动。

    因此,除了用户体验网格视图之外,如果需要,网格视图还可以提供更大的灵活性!

    【讨论】:

    • 我明白你说的,但除了 UX 有什么大的不同吗?
    • @Nilesh:是的,除了 UX,Grid View 还提供了额外的功能:网格列表可以垂直或水平滚动。如果 App 需要,这可能会提供更大的灵活性!我也编辑了答案以添加这一点!
    猜你喜欢
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 1970-01-01
    • 2016-05-01
    相关资源
    最近更新 更多