Подтвердить что ты не робот

Android: отображение карт, таких как макет, как в Google Keep

Мне было интересно, как показать снимок моих заметок, контрольных списков, изображений в виде сетки. У меня нет проблем с созданием сетки, но создание предварительного просмотра - это проблема, с которой я сталкиваюсь сейчас, так как мне нужно добавить в сетку разные типы представлений (текст, контрольный список, изображение) в зависимости от времени их создания. Прекрасно подходит для одного типа просмотра, например изображения или текста.

Или, другими словами. Как добавить различные представления динамически к адаптеру GridView?

Все или любая помощь приветствуется.

Спасибо.

enter image description here

4b9b3361

Ответ 1

Они, конечно же, не используют GridView для Google Keep - но, вероятно, Adapter.

Чтобы использовать разные виды с вашим адаптером, вы можете использовать разные типы просмотра:

Имейте в виду, что правила утилизации, ViewHolder и т.д. все еще применяются. Для нескольких типов рециркуляция выполняется только для правильного типа.

Маркус Кёрнер разделил суть Джейка Уортона на G + недавно Это может быть полезно.

Ответ 2

Скорее всего Google использует что-то похожее на GridLayout, если не использует GridLayout.

Скорее всего, макет также создается программно, чтобы позволить виджетам быть разных размеров на основе контента, отображаемого каждым из них.

Ответ 4

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);