如何通过编程将gravity_布局设置为NavigationView-Android

如何通过编程将gravity_布局设置为NavigationView-Android,android,android-navigationview,Android,Android Navigationview,在我的应用程序中,用户可以选择在哪一侧使用NavigationView 如何以编程方式设置布局 <android.support.design.widget.NavigationView android:id="@+id/main_navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="s

在我的应用程序中,用户可以选择在哪一侧使用NavigationView

如何以编程方式设置布局

<android.support.design.widget.NavigationView
    android:id="@+id/main_navigation_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="#FFF"
    >


    <ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:divider="@color/light_grey"
    android:dividerHeight="0.5dp">

    </ListView>

</android.support.design.widget.NavigationView>

在“活动”中声明并初始化抽屉布局变量,并使用以下行设置其重力:

drawer.openDrawer(Gravity.LEFT);

其中抽屉是抽屉布局的变量,您可以根据需要设置重力。

在“活动”中声明并初始化抽屉布局变量,并使用以下行设置重力:

drawer.openDrawer(Gravity.LEFT);
其中抽屉是抽屉布局的变量,您可以根据需要设置重力。

您可以使用方法以编程方式打开抽屉

空开抽屉(内部重力)

通过在视图外设置指定抽屉的动画将其打开

参数 重力int:gravity.LEFT移动左抽屉或gravity.RIGHT移动右抽屉GravityCompat.STARTGravityCompat.END也可以使用

示例代码

drawer.OpenDrawer(Gravity.LEFT);
drawer.OpenDrawer(Gravity.RIGHT);
您可以使用方法以编程方式打开抽屉

空开抽屉(内部重力)

通过在视图外设置指定抽屉的动画将其打开

参数 重力int:gravity.LEFT移动左抽屉或gravity.RIGHT移动右抽屉GravityCompat.STARTGravityCompat.END也可以使用

示例代码

drawer.OpenDrawer(Gravity.LEFT);
drawer.OpenDrawer(Gravity.RIGHT);

你可以玩这个:

 DrawerLayout.LayoutParams params = new DrawerLayout.LayoutParams(DrawerLayout.LayoutParams.WRAP_CONTENT, DrawerLayout.LayoutParams.MATCH_PARENT);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            params.setLayoutDirection(Gravity.START);
        }
        navigationView.setLayoutParams(params);

你可以玩这个:

 DrawerLayout.LayoutParams params = new DrawerLayout.LayoutParams(DrawerLayout.LayoutParams.WRAP_CONTENT, DrawerLayout.LayoutParams.MATCH_PARENT);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            params.setLayoutDirection(Gravity.START);
        }
        navigationView.setLayoutParams(params);
科特林

要实现这一点,整个xml必须是
抽屉布局
(id
抽屉布局
,包含
导航视图

val params=drawer\u layout.main\u navigation\u view.layoutparms作为DrawerLayout.layoutparms

然后从左侧打开

params.gravity=gravity.START

还是从右边

params.gravity=gravity.END
Kotlin

要实现这一点,整个xml必须是
抽屉布局
(id
抽屉布局
,包含
导航视图

val params=drawer\u layout.main\u navigation\u view.layoutparms作为DrawerLayout.layoutparms

然后从左侧打开

params.gravity=gravity.START

还是从右边


params.gravity=gravity.END

你想从左边还是右边打开抽屉?是的,当应用程序启动时,它会问用户,他想从哪一边打开导航?你想从左边还是右边打开抽屉?是的,当应用程序启动时,它会问用户,他想从哪一边打开导航