XML上でスクロールバーを消すことはできない
XML上のNavigationViewに対して、以下のようにスクロールバーを消そうとしたが消えない。
android:scrollbars="none"
NavigationViewの構成
NavigationViewの実態は、FrameLayout。
そして、その中にNavigationMenuViewというRecyclerViewがある。
よって、NavigationViewに対してスクロールバーを消すことはできず、NavigationMenuViewに対してスクロールバーを消すように書く必要がある。
実装
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view);
if (navigationView != null) {
NavigationMenuView navigationMenuView = (NavigationMenuView) navigationView.getChildAt(0);
if(navigationMenuView != null) {
navigationMenuView.setVerticalScrollBarEnabled(false);
}
}
}