2016-06-05 2 views
1

에 보통 Menu이 있습니다. 두 항목을 추가합니다. 하나는 XML 정의에 SwitchCompat을 포함하는 작업 뷰가있는 일반 항목이고 다른 하나는 코드의 여러 항목이있는 하위 메뉴입니다. 이것은 잘 작동합니다.하위 메뉴를 숨길 때 NavigationView의 메뉴에서 SwitchCompat가 올바르게 애니메이션되지 않습니다.

enter image description here

나는 때의 상태 변화를 확인하기 위해 스위치 setOnCheckedChangeListener를 사용하고이 설정되어 있다면 하위 메뉴 (catMenu) 숨기기 :

final Menu naviMenu = navi.getMenu(); // Already contains the switch element in XML definition 
final SubMenu catMenu = naviMenu.addSubMenu("Kategoriat"); 

final SwitchCompat onlyfavsw = (SwitchCompat)naviMenu.findItem(R.id.nav_onlyfavs).getActionView(); 
onlyfavsw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
{ 
    @Override 
    public void onCheckedChanged(CompoundButton compoundButton, boolean b) 
    { 
     catMenu.getItem().setVisible(!b); 
    } 
}); 

은폐/상영을 제외하고 잘 작동을 SwitchCompat이 올바르게 애니메이트되지 않습니다. 색상이 바뀌지 만 스위치가 오른쪽으로 이동하지 않습니다. 수동으로 슬라이드 할 수는 있지만 뒤로는 할 수 없습니다. 나는 이벤트 내부의 메뉴에서 하위 메뉴를 제거하면

enter image description here

같은 일

발생합니다. 그래서 메뉴를 임의로 변경하면 애니메이션 문제가 발생합니다.

내가 잘못했거나 호환 라이브러리에 버그가 있습니까? 선택에 따라 하위 메뉴를 숨기는 다른 방법은 없나요? 내가 APPCOMPAT-V7 버전 23.1.1을 사용하고

답변

0

이 실제로 버그 것 같다. 나는 같은 문제를 가지고있다. 스위치 자체를 클릭하면 잘 움직이지만 NavigationDrawer가 열려있는 동안 스위치 상태를 변경하면 애니메이션이 표시되지 않습니다.

Android 이슈 트래커 항목보기 : SwitchCompat.setChecked does not animate inside RecyclerView

관련 문제