【问题标题】:Horizontal recyclerview with NestedScrollView load gif with glide带有 NestedScrollView 的水平回收器视图通过滑行加载 gif
【发布时间】:2018-03-12 10:52:50
【问题描述】:

我在 NestedScrollView 中使用 Horizo​​ntal recyclerview。当我想在水平滚动视图中更快地滚动时,它会跳到视图的上方。和recyclerview 不太顺利。

  • 注意:当我加载 gif 图像时会发生这种情况,但是当加载 jpg 图像时 永远不要去上面的视图。但并不像预期的那样顺利。

所有recyclerview数据绑定

    RecyclerViewDataAdapter adapter = new RecyclerViewDataAdapter(getActivity(), allSampleData);
    LinearLayoutManager mLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
    recyclerView.setLayoutManager(mLayoutManager);
    mLayoutManager.setAutoMeasureEnabled(true);
    recyclerView.setAdapter(adapter);
    adapter.notifyDataSetChanged();
    recyclerView.setHasFixedSize(true);
    recyclerView.setNestedScrollingEnabled(false);

部分数据初始化

    SectionListDataAdapter itemListDataAdapter = new SectionListDataAdapter(mContext, singleSectionItems, sectionName,itemRowHolder.previewImage);
    itemRowHolder.recycler_view_list.setHasFixedSize(true);
    itemRowHolder.recycler_view_list.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false));
    itemRowHolder.recycler_view_list.setAdapter(new AlphaInAnimationAdapter(itemListDataAdapter));
    itemRowHolder.recycler_view_list.setNestedScrollingEnabled(false);

 <android.support.v7.widget.RecyclerView
                android:id="@+id/recycler_view_list"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_centerVertical="true"
                android:layout_gravity="center_vertical"
                android:orientation="horizontal"
                android:paddingTop="0dp" />

图片加载

Glide.with(MyApplication.applicationContext) // replace with 'this' if it's in activity
                .load(previewUrl.replaceAll(" ", "%20"))
                .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, com.bumptech.glide.load.DataSource dataSource, boolean isFirstResource) {
                        holder.progressBar.setVisibility(View.GONE);
                        return false;
                    }


                })

                .into(holder.itemImage);

【问题讨论】:

标签: android android-recyclerview android-glide android-nestedscrollview


【解决方案1】:

我自己找到了解决方案,这发生在 glide 库中。您可以使用 Facebook 壁画库进行 gif 加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多