5

Mam NestedScrollView (część domyślnej czynności przewijania), który zawiera CoordinatorLayout i RecyclerView, aby wyświetlić karty z pewnymi informacjami. Układ jest tak zaprojektowany, aby karty mogły zniknąć z ekranu, jeśli jest ich za dużo i mają przewijane do nich osoby, jednak z jakiegoś powodu przewijanie nie ma do tego rozpędu, tak jak powinno. Rozejrzałem się i poprzednie pytanie powiedział, jak wyłączyć intertial zwój w Scrollview (Android ScrollView disable Inertial scrolling), więc starałem się zrobić odwrotnie:Włącz przewijanie interpolowane w NestedScrollView (Android Studio)

NestedScrollView mgScrollView = (NestedScrollView) findViewById(R.id.my_games_scroll_view); 
mgScrollView.setSmoothScrollingEnabled(true); 

Ale to nie osiągnąć. Przetestowałem mgScrollView.setVerticalScrollBarEnabled (true); aby sprawdzić, czy nawet zastosowałem kod do odpowiedniego widoku, i tak się dzieje, że paski przewijania również się nie pojawiły. Więc teraz jestem zdezorientowany, czy nawet stosuję te metody do odpowiedniego widoku, ale ponieważ nie mam żadnych innych widoków ScrollView, nie jestem pewien, gdzie powinien być, jeśli jestem niepoprawny. Wiem, że mogę dodać paski przewijania w samym pliku xml, ale nie znalazłem kodu xml dla przewijania inercyjnego. Czy istnieje sposób na dodanie bezwładności przez Javę lub xml?

Oto kod dla content_my_games.xml, czyli tam, gdzie układy do kart iść (nie mylić z activity_my_games.xml, w którym mieści kod dla CollapsingToolbarLayout i FAB)

Dzięki

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/my_games_scroll_view" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="com.example.abhinav.sportswowandroid.MyGamesActivity" 
tools:showIn="@layout/activity_my_games"> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" 
    android:paddingTop="16dp" 
    android:paddingBottom="16dp" 
    tools:context=".MyGamesActivity"> 

    <android.support.design.widget.CoordinatorLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fitsSystemWindows="true" 
      tools:context=".MyGamesActivity" 
      /> 

    <android.support.v7.widget.RecyclerView 
      android:id="@+id/recycler_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior" 
      /> 

    <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      /> 
    </RelativeLayout> 
</android.support.v4.widget.NestedScrollView> 

Odpowiedz

4

Stare pytanie, ale sam wpadłem na to. Rozwiązało to dla mnie:

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); 
recyclerView.setNestedScrollingEnabled(false);