Как создать адаптер для TwoWayView в Android

#android #android-layout #android-view #android-adapter

#Android #android-макет #android-просмотр #android-адаптер

Вопрос:

У меня возникли проблемы при попытке создать адаптер для TwoWayView от lucasar. https://github.com/lucasr/twoway-view

Что я хочу, так это отображение изображений в Facebook. Вроде как это. структура изображения в стиле Facebook

В настоящее время я пытаюсь преобразовать LayoutAdapter.java файл в репозитории github в папке sample в адаптер, который я могу использовать в своем проекте, но я думаю, что мне нужна дополнительная информация о том, что именно делает этот адаптер.

Вот XML для сетки TwoWayView.

 <org.lucasr.twowayview.widget.TwoWayView
    android:id="@ id/twvGrid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="vertical"
    app:twowayview_layoutManager="SpannableGridLayoutManager"
    app:twowayview_numColumns="3"
    app:twowayview_numRows="3"
    android:layout_below="@ id/youtubeVidImage"
    android:layout_gravity="center"
    android:fitsSystemWindows="true"
    android:layout_marginTop="35dp"/>
  

Каждый элемент в макете (GalleryItem) — это, по сути, просто URL-адрес отображаемого изображения. И я хочу иметь возможность добавлять эти изображения в макет в действии, которое настраивает TwoWayView. Что-то подобное для кода в Activity, который инициализирует массив mPhotos.

     private void initImagesRecyclerView(){
        Log.d(TAG, "initImagesRecyclerView: init Recyclerview");
        imagesRecyclerView = findViewById(R.id.twvGrid);
        mPhotos =  new ArrayList<GalleryItem>();
        //mImagePostsAdapter = new ImagePostsAdapter(this,mPhotos);
        //imagesRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.HORIZONTAL));
        mImagePostsAdapter = new TwoWayViewAdapter(this,imagesRecyclerView,R.layout.layout_staggered_grid);
        imagesRecyclerView.setAdapter(mImagePostsAdapter);
    }
  

Кто-нибудь может дать мне несколько советов о том, как реализовать TwoWayView? Было бы здорово узнать, как создать адаптер и как установить его на ссылку TwoWayView в Activity.

Спасибо

Комментарии:

1. Вы можете создать желаемую структуру, используя StaggeredGridLayoutManager в горизонтальном RecyclerView и изменить размер первого элемента в сетке, без использования какой-либо внешней библиотеки, такой как twoway-view

2. О, хорошо, так что, может быть, я мог бы сделать что-то вроде: если есть одно изображение, то оно займет целую строку в сетке, а если есть 3 изображения, то я мог бы поместить два в первую строку в сетке, а третье изображение будет располагаться в следующей строке само по себе? И я бы программно решил, какие изображения разделяют строку в сетке, а какие изображения занимают целую строку? Я подробнее рассмотрю StaggeredGridLayoutManager, спасибо