在我的应用中,用户可以选择在哪一方面拥有NavigationView
如何设置layout_gravity ="结束"以编程方式?
<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>
答案 0 :(得分:0)
获取您的DrawerLayout变量并在Activity中初始化并使用以下行来设置其重力:
drawer.openDrawer(Gravity.LEFT);
抽屉是DrawerLayout的变量,您可以根据需要设置重力。
答案 1 :(得分:0)
您可以使用 openDrawer() 方法打开抽屉programaticaly
void openDrawer(int gravity)
通过将其设置为视图以外的方式打开指定的抽屉。
参数 gravity int: Gravity.LEFT 移动左抽屉或右移Gravity.RIGHT。也可以使用 GravityCompat.START 或 GravityCompat.END 。
示例代码
drawer.OpenDrawer(Gravity.LEFT);
drawer.OpenDrawer(Gravity.RIGHT);
答案 2 :(得分:0)
你可以玩这个:
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);
答案 3 :(得分:0)
科特琳
要使其正常工作,整个xml必须为DrawerLayout
(ID为drawer_layout
,包含一个NavigationView
)
val params = drawer_layout.main_navigation_view.layoutParams as DrawerLayout.LayoutParams
然后从左侧打开
params.gravity = Gravity.START
或从右侧
params.gravity = Gravity.END