2017-01-27 2 views
-3

Обновить вопрос Мне нравится RecyclerView с использованием Glide, потому что изображение будет загружаться, когда на экране появится элемент. Пример: 100 предметов, 10 предметов появился на экране, скольжение просто загрузите 10 предметов.RecyclerView внутри NestedScrollView, загрузить Imageview

Но когда RecyclerView внутри NestedScrollView, изображение будет загружаться вместе (100 элементов загружаются вместе). Вопрос: как использовать глиссирование с RecyclerView внутри NestedScrollView?

<android.support.v4.widget.NestedScrollView 
    android:id="@+id/nestedScroll" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fillViewport="true" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 
    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recyclerView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 
</android.support.v4.widget.NestedScrollView> 

Java Code

NestedScrollView nestedScroll = (NestedScrollView) findViewById(R.id.nestedScroll); 
    RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView); 
    LinearLayoutManager linear = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); 
    recyclerView.setLayoutManager(linear); 
    recyclerView.setNestedScrollingEnabled(false); 
+0

Obvioulsy, потому что 'андроида: layout_height = "wrap_content"', который basiacally означает "принимает на такую ​​же высоту, как сумма высоты всех элементов" (который также делает RecyclerView unscrollable - только NestedScrollView прокручивается) – Selvin

+0

Что вы сделали для загрузки изображений? –

+0

@PratikButani кажется, что вы не понимаете, что происходит ... проблема в том, что все изображения загружаются одновременно ... потому что он сделал LinearLayout с его RecyclerView – Selvin

ответ

-1

Glide поддерживает ваше поведение желает с приоритета перечисления и метода .priority().

Перечисление дает вам четыре различных варианта. Это список заказан с увеличением приоритета:

  • Priority.LOW
  • Priority.NORMAL
  • Priority.HIGH
  • Priority.IMMEDIATE

Пример использования:

Glide.with(context) 
     .load("url") 
     .priority(Priority.HIGH) 
     .into(imageViewHero); 

Попробуйте. Надеюсь, это будет полезно для вас.

Источник: https://futurestud.io/tutorials/glide-request-priorities

+0

Спасибо, но изображение с порогом загрузки вместе –

+0

@TomtomDeCrab https: // github.com/bumptech/glide/issues/1075 # issuecomment-199349653 –

+0

Спасибо, это проблема, Glide не будет работать идеально, если RecyclerView внутри NestedScrollView, может быть, Glide, прочитанный весь элемент в RecyclerView, виден на экране, поэтому все изображения загружаются вместе –

Смежные вопросы