2016-06-05 9 views
1

У меня есть NavigationView с обычным Menu внутри него. Я добавляю два элемента: один регулярный элемент с видом действия, содержащим SwitchCompat в определении xml и подменю с несколькими элементами из кода. Это прекрасно работает.SwitchCompat не анимирует правильно в меню NavigationView при скрытии SubMenu

enter image description here

Я использую setOnCheckedChangeListener на коммутаторе, чтобы проверить, когда его состояние меняется, и если он установлен на I скрыть подменю (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

То же самое происходит, если я удаляю подменю в меню внутри события. Поэтому я думаю, что любое вмешательство в меню вызывает проблемы с анимацией.

Я делаю что-то неправильно или это ошибка в библиотеках совместимости? Любой другой способ обработки скрытия подменю на основе выбора?

Я использую версию 23.1.1 из AppCompat-v7

ответ

0

Это действительно кажется, что это ошибка. У меня такая же проблема. Если я нажму на сам коммутатор, он будет анимировать, но если я изменил состояние переключателя, когда NavigationDrawer открыт, анимации нет.

Посмотрите это для входа в систему для регистрации на форуме Android: SwitchCompat.setChecked does not animate inside RecyclerView

 Смежные вопросы

  • Нет связанных вопросов^_^