#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, спасибо