Android构建动态视图

时间:2015-11-08 23:26:38

标签: android android-layout user-interface

我有一个需要调用web服务的应用程序,并根据响应构建一个卡列表。 I.E.卡的数量和内容是无限期的。所以我要说我的回答是这样的(注意这是一个简化的响应):

{
  "items": [
    "1",
    "2",
    "3",
    "4",
    "5"
  ],
  "timestamp": "bla bla bla"
}

对于数组items中的每个项目,需要创建一个新卡。最具表现意识的方法是什么?我应该只是以编程方式创建所有卡片,然后用Java添加它们,使用片段,还是我想错了?

1 个答案:

答案 0 :(得分:2)

  

最有效率的方法是什么?

这很难在摘要中回答,因为这里没有人知道什么"卡"是的,这里没有人知道"内容"是。通常,创建事物的最高效方法是在需要之前不创建它们。

在Android中,对于中等轻量级内容的垂直滚动列表(我对"卡片列表"),您可以将模型数据数组包装在ArrayAdapter或{ {1}},分别用于RecyclerView.AdapterListView。在这里,通过"适度轻量级",想想推文等。

对于垂直滚动的重量级事物列表...通常,只是说不,因为这不是Android上的典型UX模式。水平滑动是处理视觉复杂项目集合的典型方法。这通常使用RecyclerView,通常使用片段作为页面。对于大型集合(例如,超过6个),使用ViewPager来限制UI消耗的堆空间量。要绘制比较,显示联系人姓名+缩略图将是轻量级的,通常在FragmentStatePagerAdapter / ListView中垂直滚动显示。显示完整的联系方式(更大的照片,所有电子邮件地址,所有电话号码等)将通过使用RecyclerView的水平滑动来处理。

如果洛杉矶不会被一个超级反派打击,如果你不以垂直滚动的方式实现这一点这些项目是重量级的,那么至少一个垂直ViewPager实现作为一个库浮动,虽然我还没有使用它。