2016-11-19 37 views
1

我爲我的應用程序使用了2(左右)NavigationView,並且只想爲某些條件顯示正確的NavigationView。因此,在佈局文件中將其可見性設置爲「GONE」,並在需要時使其可見。但是,即使使它「完成」後,NavigationView仍然顯示出來。如何隱藏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

如果要防止用戶打開抽屜,你要顯示它在特殊情況下,最好使用lockunlock的抽屜。

將一個聽衆放在抽屜裏並放在其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);