Проблема с пустым пространством TwoWayView при повторной прокрутке вверх

Я использую TwoWayView

https://github.com/lucasr/twoway-view

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

Мой экран xml:

  <package.TwoWayView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/listTwoWay"
    style="@style/TwoWayView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:twowayview_layoutManager="StaggeredGridLayoutManager"
    app:twowayview_numColumns="2"
    app:twowayview_numRows="2" />

Мой макет строки с фиксированной высотой и шириной

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="300dp"
android:layout_height="300dp"
android:background="@color/color_white_gray">

<ImageView
    android:id="@+id/imgItemGrid"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:scaleType="fitXY"
    android:src="@drawable/artist_expand_bg1" />

</RelativeLayout>

и мой адаптер onbind выглядит следующим образом

@Override
public void onBindViewHolder(final SimpleViewHolder holder, final int position) {
    final View itemView = holder.itemView;
    //set imageview
    Glide.with(mContext)
            .load(dataList.get(position).getImage())
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                    holder.progressBar.setVisibility(View.GONE);
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    holder.progressBar.setVisibility(View.GONE);
                    return false;
                }
            })
            .into(holder.imgItemGrid);

    final int dimenId;
    final int span;

    if (position == 0) {
        dimenId = R.dimen.staggered_child_large;
        span = 2;      
   } else {
        dimenId = R.dimen.staggered_child_large;
        span = 2;
    }
    final int size = mContext.getResources().getDimensionPixelSize(dimenId);
    final StaggeredGridLayoutManager.LayoutParams lp =
            (StaggeredGridLayoutManager.LayoutParams) itemView.getLayoutParams();

    lp.span = span;
    lp.height = size;
    itemView.setLayoutParams(lp);
   }

Я пробовал программно установить ширину изображения и просмотрщика, но не повезло. Спасибо за продвижение в предложениях или любую помощь.


person Shruti    schedule 02.05.2018    source источник


Ответы (1)


наконец, вместо этого я перешел на библиотеку Asymmentric recyclerview. и в этой библиотеке такой проблемы нет. Пожалуйста, перейдите по ссылке ниже.

https://github.com/felipecsl/AsymmetricGridView?utm_source=android-arsenal.com&utm_medium=referral&utm_campaign=1186

person Shruti    schedule 02.05.2018