如何以编程方式将 gravity_layout 设置为 NavigationView - Android
How programatically set gravity_layout to NavigationView - Android
在我的应用程序中,用户可以选择在哪一侧使用 NavigationView
如何以编程方式设置 layout_gravity="end"?
<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>
在 Activity 中声明并初始化您的 DrawerLayout 变量,并使用以下行设置其引力:
drawer.openDrawer(Gravity.LEFT);
其中 drawer 是你的 DrawerLayout 的变量,你可以根据需要设置重力。
您可以使用openDrawer()方法以编程方式打开抽屉
void openDrawer (int gravity)
Open the specified drawer by animating it out of view.
Parameters
gravity int: Gravity.LEFT to move the left drawer or Gravity.RIGHT for the right. GravityCompat.START or GravityCompat.END may also be used.
示例代码
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);
科特林
为此,整个 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
在我的应用程序中,用户可以选择在哪一侧使用 NavigationView
如何以编程方式设置 layout_gravity="end"?
<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>
在 Activity 中声明并初始化您的 DrawerLayout 变量,并使用以下行设置其引力:
drawer.openDrawer(Gravity.LEFT);
其中 drawer 是你的 DrawerLayout 的变量,你可以根据需要设置重力。
您可以使用openDrawer()方法以编程方式打开抽屉
void openDrawer (int gravity)
Open the specified drawer by animating it out of view.
Parameters gravity int: Gravity.LEFT to move the left drawer or Gravity.RIGHT for the right. GravityCompat.START or GravityCompat.END may also be used.
示例代码
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);
科特林
为此,整个 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