如果您RecyclerView从网络中加载数据中的项目(通常是图像)或执行其他处理,这可能会花费大量时间,并且最终可能会在屏幕上显示项目,但未完全加载。为避免这种情况,您可以扩展现有LinearLayoutManager项以在屏幕上可见之前预加载许多项:
package com.example; import android.content.Context; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.OrientationHelper; import android.support.v7.widget.RecyclerView; /** * A LinearLayoutManager that preloads items off-screen. * <p> * Preloading is useful in situations where items might take some time to load * fully, commonly because they have maps, images or other items that require * network requests to complete before they can be displayed. * <p> * By default, this layout will load a single additional page's worth of items, * a page being a pixel measure equivalent to the on-screen size of the * recycler view. This can be altered using the relevant constructor, or * through the {@link #setPages(int)} method. */ public class PreLoadingLinearLayoutManager extends LinearLayoutManager { private int mPages = 1; private OrientationHelper mOrientationHelper; public PreLoadingLinearLayoutManager(final Context context) { super(context); } public PreLoadingLinearLayoutManager(final Context context, final int pages) { super(context); this.mPages= pages; } public PreLoadingLinearLayoutManager(final Context context, final int orientation, final boolean reverseLayout) { super(context, orientation, reverseLayout); } @Override public void setOrientation(final int orientation) { super.setOrientation(orientation); mOrientationHelper = null; } /** * Set the number of pages of layout that will be preloaded off-screen, * a page being a pixel measure equivalent to the on-screen size of the * recycler view. * @param pages the number of pages; can be {@code 0} to disable preloading */ public void setPages(final int pages) { this.mPages= pages; } @Override protected int getExtraLayoutSpace(finalRecyclerView.Statestate) { if (mOrientationHelper == null) { mOrientationHelper = OrientationHelper.createOrientationHelper(this, getOrientation()); } return mOrientationHelper.getTotalSpace() * mPages; } }
import { Scroll } from 'feui'; components: { [Scroll.name]: Scroll, }, data() { return { items: [], infiniteCount: 0, hasHeader: true }; } methods: { onRefresh(done) {
本文向大家介绍Android实现滑动加载数据的方法,包括了Android实现滑动加载数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现滑动加载数据的方法。分享给大家供大家参考。具体实现方法如下: EndLessActivity.java如下: listview下部是按钮控制: 希望本文所述对大家的Android程序设计有所帮助。
我正在使用$location.path()在我的angular网站中加载新视图。我的页面看起来像: 我会根据需求(索引、主页、登录等)更改ng视图。有时导航看起来很慢(0.1秒时页面内会出现一些小故障),有没有办法让导航变得即时? 此外,我尝试了NG-动画,改善了这种感觉,但并不完全。我想预先加载我的“观点”将是一个解决方案... 编辑: 通过添加以下内容,感觉有所改善:
问题是我使用的是Slick Carousel,但每当我将div添加到Slick的脚本中时,我使用的是内容移动到不同的行中。 这就是当我将滚动div添加到Slick脚本时所发生的情况。 我几乎可以肯定这是一个CSS问题,但我已经尝试了很多,但不能使它工作。这是我的密码... 油滑 这是相关的CSS 这里有一个现场演示滚动到底部
我有一个在Android Studio上从头开始的项目。布局编辑器工作正常。添加Google Play服务库后,现在当我打开布局XML文件时,在“设计”选项卡中出现以下错误:“渲染问题:加载平台渲染库失败” 在文本选项卡中,my TextView组件的所有属性都有一个警告“未知属性android:[…]”其中[…]是正在声明的属性。 有人知道如何解决这个问题吗?
我已经编写了一些代码,可以从高度图中渲染3D世界,现在我也编写了允许行走的代码。问题是,当高度增加时,动画几乎“跳跃”,因为每个单元都相当大。有没有一种简单的方法可以让动画更流畅?(一般来说,我对OpenGL和3D渲染非常陌生,所以我不想讨论插值和更复杂的事情。)