Я работаю над фрагментом кода, который позволяет пользователю выбрать одну из своих фотографий из Facebook и использовать ее в нашем приложении в качестве профиля. Логика выполнена, но макет дает мне немного головную боль.Как установить динамический размер заполнителя в recyclerview с gridlayout?
У меня есть этот макет для моих изображений
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_margin="5dp"
>
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView"
/>
</android.support.v7.widget.CardView>
и я использую RecyclerView, который загружает каждое изображение альбома в сетку 2 колонки (любезно GridLayoutManager). Это делается с помощью Пикассо:
mImageLoader.load(image.getUrl()).resize(480, 480).centerCrop().into(holder.imageView);
Поскольку нагружать альбом, который содержит сотни фотографий может занять некоторое время, я хочу, чтобы отобразить заполнитель. Этого можно добиться с помощью оператора .placeholder в Picasso.
Моя проблема заключается в том, что я понятия не имею, насколько высокий и широкий из моих ViewHolders.
GridLayoutManager вычислит, сколько места доступно и присвоить значение ширины каждому элементу, так что многие, как я назначил, подойдут, что является причиной, почему я не могу использовать предопределенный drawable для моего заполнителя, потому что я никогда не может быть уверенным, что мой 240x240 drawable будет соответствовать каждому устройству.
Итак, мой вопрос: Как я могу получить ширину каждой карты в моем recyclerview, поэтому я применяю растровое изображение, я создал во время выполнения, как заполнитель?
Это не то, что я просил. Я уже упоминал, что я использую GridLayoutManager. Я хочу, чтобы ширина каждого элемента в адаптере, поэтому я могу сгенерировать растровое изображение заполнителя – TormundThunderfist