You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -208,4 +208,81 @@ private fun loadImageByCustomModule() {
208
208
.smallCircle() //new custom option
209
209
.into(imageView)
210
210
}
211
+
{% endhighlight %}
212
+
213
+
## RecyclerView
214
+
Glide ułatwia współpracę z `RecyclerView` (obrazy są ładowane wcześniej zgodnie z kierunkiem przesuwania) poprzez użycie `RecyclerViewPreloader` jako obiektu słuchacza dla akcji przesuwania `addOnScrollListener`. W połączeniu z odpowiednim rozmiarem obrazu i optymalną strategią pamięci pozwala na zmniejszenie liczby ładowanych obrazów dostarczając je wcześniej.
215
+
216
+
{% highlight kotlin %}
217
+
//usage of RecyclerViewPreloader in RecyclerView
218
+
class RecyclerViewActivity : AppCompatActivity() {
219
+
220
+
private lateinit var recyclerView: RecyclerView
221
+
private lateinit var preloader: RecyclerViewPreloader<Any>
222
+
private val urls = listOf("url1", "url2", "url3") //mock some url
223
+
224
+
override fun onCreate(savedInstanceState: Bundle?) {
225
+
super.onCreate(savedInstanceState)
226
+
setContentView(R.layout.activity_recyclerView)
227
+
228
+
initPreloader()
229
+
initRecyclerView()
230
+
}
231
+
232
+
private fun initPreloader() {
233
+
val size = 100
234
+
val maxPreload = 10
235
+
val sizeProvider: ListPreloader.PreloadSizeProvider<Any> = FixedPreloadSizeProvider(size, size)
236
+
val modelProvider = CustomPreloadModelProvider(urls, this) //own implementation of PreloadModelProvider
0 commit comments