2016-11-19 16 views
1

私は自分のアプリケーションに2(左と右)のNavigationViewを使用しており、特定の条件に対してのみNavigationViewを正しく表示したいと考えています。したがって、レイアウトファイルの可視性を "GONE"に設定し、必要に応じて可視にします。しかし、それを "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にもう一度ロックします。あなたはlayout_gravityは=「終了」、試してみてください、引き出しを表示する最初のロックを解除してから

+0

おかげで、動作します。 NavigationDrawer自体にNavigationViewをロックし、必要なところでアクティビティをロック解除しました。 – Girish

0

それを開いて呼び出す必要がありますたび

0

次のコードでNavigationViewを開いたことはありません。

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

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
関連する問題