2016-11-19 3 views
1

Я использую 2 (влево и вправо) NavigationView для своего приложения и хочу показать правую навигацию только для определенных условий. Следовательно, установите его видимость на «GONE» в файле макета и сделает его видимым, когда это необходимо. Однако даже после того, как он «GONE», правая навигационная панель продолжает отображаться.Как скрыть NavigationView? android: visibility = "gone" не работает

Любые мысли, как скрыть это?

<include 
    layout="@layout/app_bar_main" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

<com.example.girishkhatri.tt0401.NavigationViewRight 
    android:id="@+id/nav_right_view" 
    android:layout_width="wrap_content" 
    android:layout_height="600dp" 
    android:layout_marginTop="80dp" 
    android:layout_gravity="right" 
    android:fitsSystemWindows="true" 
    android:visibility="gone" //not working as expected 
    app:itemBackground="@drawable/nav_item_selector" 
    app:headerLayout="@layout/nav_header_right" 
    app:menu="@menu/activity_right_drawer" /> 

+0

Добавить 'gravity' приписывать право ... это будет работать –

ответ

0

Если вы хотите запретить пользователю открывать ящик, и вы хотите, чтобы показать его в особых обстоятельствах, то лучше использовать lock и unlock для выдвижного ящика.

Поместите слушателя в ящик и в его OnDrawerClosed, Заблокируйте его еще раз.

Всякий раз, когда вы должны показать ящик, разблокировать его первым, а затем вызвать открытым на нем

+0

Спасибо, это сработало. Я заблокировал NavigationView в самом NavigationDrawer и разблокирован для активности там, где это необходимо. – Girish

0

Пожалуйста, попробуйте, layout_gravity = «конец».

0

Никогда не открывал NavigationView со следующим кодом.

DrawerLayout mDrawerLayout = (DrawerLayout) getActivity().findViewById(R.id.drawer_layout); 
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
Смежные вопросы