2017-05-03 7 views
1

,NavigationView의 스크롤 위치 I는 다음과 같이 navigationView이

<android.support.design.widget.NavigationView 
     android:id="@+id/navigation" 
     style="@style/NavDrawer" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:itemBackground="@android:color/transparent" 
     app:itemTextColor="@color/drawer_item"> 

     <ExpandableListView 
      android:id="@+id/list_navigation_menu" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginTop="@dimen/list_view_marigin_top" 
      android:divider="@android:color/transparent" 
      android:dividerHeight="@dimen/list_view_divider_height" 
      android:fitsSystemWindows="true" 
      android:listSelector="@android:color/transparent" 
      android:visibility="gone" /> 

     <android.support.v7.widget.RecyclerView 
      android:id="@+id/recycler_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginTop="@dimen/list_view_marigin_top" 
      android:fitsSystemWindows="true" /> 
    </android.support.design.widget.NavigationView> 

를 재설정하는 방법 나는 열려 때마다 첫 번째 메뉴 항목이 항상 표시되도록 NavigationView 항상 그 "원래"스크롤 위치에서 시작 가질 수있는 방법 이전에 스크롤 위치가 어느 위치에 있었는지에 관계없이

내가 3 선/솔루션 아래에 시도했지만이 일을 일부러 :.

((NavigationMenuView)((NavigationView)mViewHolder.mNavigationView).getChildAt(0)).scrollToPosition(0); 

    mViewHolder.mNavigationView.scrollTo(0,0); 

    mViewHolder.mNavigationView.setVerticalScrollbarPosition(View.SCROLLBAR_POSITION_DEFAULT); 

답변

1

이 솔루션은 나를 위해 일한 RecyclerView.getLayoutManager() scrollToPosition (0);