Intereting Posts
Откройте WebView, а не браузер с экрана предпочтения. Экран Android Фиксированный и всегда видимый нижний колонтитул ниже ListFragment Инструменты для создания AnimatedVectorDrawable Каким образом можно узнать, что происходит, от внешнего приложения Android? Как оставаться в позиции прокрутки в RecyclerView после добавления элементов в свой первый индекс и вызывать notifydatasetchange Уровень производительности Android api 11 и выше Рендеринг-текстура и синхронизация Изменение ActionBar при использовании фрагментов Зажигание Kindle Fire и повреждение текстуры со скоростью 60 кадров в секунду Android на Netbeans 6.9.1: имя пакета недействительно Разработка 3D игр для Android Проблема получения ConnectivityManager в устройстве с несколькими SIM-картами Публиковать файл .aar с javadocs, прикрепленным к artifactory repo Синхронизация данных приложений между iOS и Android OnClick внутри фрагмента, вызванного активностью

Recyclerview внутри прокрутки вложенной прокрутки, но не ускоряет прокрутку, как обычно Recyclerview или Nested Scrollview

Я использую RecyclerView внутри NestedScrollView и он работает. Но когда я использую RecyclerView внутри LinearLayout или что-то в этом роде, он прокручивается с различной скоростью в зависимости от жестов. Прокрутка прослушивает жест, и если я немного поднимусь, то он немного прокручивается, а если я покажусь очень быстро, тогда он прокручивается очень быстро. Теперь моя проблема в том, что RecyclerView внутри NestedScrollView конечно, прокручивается, но быстрый прокрутка не работает. Однако я быстро или медленно NestedScrollView вверх, RecyclerView или NestedScrollView прокручивают немного.

Как я могу сделать свой NestedScrollView или RecyclerView внутри этого прокрутки, просматривать прокрутку с различной скоростью?

Solutions Collecting From Web of "Recyclerview внутри прокрутки вложенной прокрутки, но не ускоряет прокрутку, как обычно Recyclerview или Nested Scrollview"

пытаться

 recyclerView.setNestedScrollingEnabled(false); 

Я работал над android 16, где было невозможно использовать метод setNestedSCrollEnabled,

Что я делаю, чтобы остановить RecyclerView от обработки свитков.

Как и в LinerLayoutManager, я сделал canScrollHorizontally, canScrollVertically, чтобы вернуть false по умолчанию.

 myRecyclerView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false){ @Override public boolean canScrollHorizontally() { return false; } @Override public boolean canScrollVertically() { return false; } }); 

По умолчанию setNestedScrollingEnabled работает только после API-21.

Вы можете использовать ViewCompat.setNestedScrollingEnabled(recyclerView, false); Для отключения вложенной прокрутки до и после API-21 (Lollipop). Ссылка на документацию .

Надеюсь эта помощь!

После нескольких итераций я придумал решение.

  1. Если вы используете RecyclerView, тогда:

     recyclerView.setNestedScrollingEnabled(false); 
  2. Если вы используете LinearLayout внутри NestedScrollingView, возьмите LinearLayout внутри обычного ScrollView, а затем установите его прокрутку в

     scrollView.setNestedScrollingEnabled(false); 

Вы можете использовать ScrollView с классом ExtendRecyclerView, который переопределяет метод onMeasure. Это подходит для меня!

 @Override protected void onMeasure(int widthSpec, int heightSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthSpec, expandSpec); } 

Это WAI. NestedScrollView измеряет свои дочерние элементы с помощью Spec «Unspecified». Ребенок может расти столько, сколько он хочет.

Это, по существу, означает высоту NSV и RV. Что касается RV, то он считает, что он полностью отображается.

Оберните свой RV LL и дайте RV высоту. LL не установил бы, чтобы спецификация измерения была НЕУДАНА, чтобы RV правильно прокручивал в пределах своей установленной высоты любые DP, которые вы предоставляете.

Единственным недостатком этого метода является то, что вы не сможете сделать родительский знак соответствия на вашем RV.

Вы должны перенести вид ресайзера в любой макет, например LinearLayout, и установить размер RecyclerView в константу, например 800dp. Это позволит обеспечить плавное отображение прокрутки и ресайклера во время прокрутки.

 <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="800dp" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </LinearLayout>