2017-05-23 2 views
0

BottomNavigationView 선택을 지우려고하므로 아무 항목도 선택되지 않습니다. (단 제기 애니메이션을 제거하고 글꼴 크기 정규화) 작품의아래쪽 탐색보기 지우기 선택

public static void clearSelection(BottomNavigationView view) { 
    final BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0); 
    for (int i = 0; i < menuView.getChildCount(); i++) { 
     BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); 
     item.setChecked(false); 
    } 
} 

이 종류 만 선택하지 않은 하나에 항목의 색상을 다시 설정하지 않습니다

나는 도우미 유틸리티 메소드가 있습니다. 내가 해봤

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
     android:state_checked="true" 
     android:color="@color/colorPrimaryLight" /> 

    <item android:color="@color/colorPrimaryLightTransparent" /> 
</selector> 

:

item.invalidate(); 
menuView.invalidate(); 

작동하지 않았다

내가 확인 상태에 따라 색상을 설정 색상 선택기를 사용 BottomVanigationItemView 색상을 설정합니다. 보기에서 색상 선택기를 기반으로 색상 값을 재설정하도록하려면 어떻게해야합니까?

답변

1

모든 MenuItem을 체크 할 수 없도록 설정하여 해결했습니다 .NavigationItemSelected에서 다시 체크 할 수있게되었습니다.

public static void setCheckable(BottomNavigationView view, boolean checkable) { 
    final Menu menu = view.getMenu(); 
    for(int i = 0; i < menu.size(); i++) { 
     menu.getItem(i).setCheckable(checkable); 
    } 
}