Android:在Google Keep中显示类似布局的卡片

时间:2013-04-25 09:59:27

标签: android android-layout gridview

我想知道如何在网格视图中显示我的笔记,清单和图像的快照。我创建网格视图没有问题但是创建它的预览是我现在面临的挑战,因为我需要根据创建时间向网格添加不同类型的视图(文本,清单,图像视图)。适用于单一类型的视图,如图像或文本。

或换句话说。如何动态地将不同视图添加到GridView适配器?

感谢所有或任何帮助。

感谢。

enter image description here

3 个答案:

答案 0 :(得分:3)

他们肯定不会使用GridView for google Keep - 但可能仍然是Adapter

要在适配器上使用不同的视图,您可以使用不同的视图类型:

  1. 覆盖getViewTypeCount()以返回您支持的视图类型的数量。
  2. getItemViewType(int position)中为此特定项目返回相应的类型。
  3. getView(int position, View convertView, ViewGroup parent)
  4. 中创建正确的视图

    请记住,回收规则,ViewHolder等仍然适用。对于多种类型,只有正确的类型才能进行回收。

    Marcus Körner shared a gist by Jake Wharton on G+ recently可能有用。

答案 1 :(得分:1)

如果没有实际使用GridLayout,Google很可能会使用与GridLayout类似的内容。

可能还会以编程方式创建布局,以允许窗口小部件根据它们各自显示的内容而具有不同的大小。

答案 2 :(得分:1)

recyclerView= (RecyclerView) findViewById(R.id.recycler);
recyclerView.setLayoutManager(new                  
StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));

        initData();
        MasonryAdapter adapter=new MasonryAdapter(productList);
        recyclerView.setAdapter(adapter);

        SpacesItemDecoration decoration=new SpacesItemDecoration(16);
        recyclerView.addItemDecoration(decoration);