导航抽屉从右侧开始
Navigation drawer starts from right side
如何让导航抽屉从右向左打开?
Main.xml
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/navigation"
android:background="#FFE7FF"/>
drawer_header.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:baselineAligned="false"
android:orientation="vertical">
navigation.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
<item
android:id="@+id/Home"
android:checked="true"
android:icon="@drawable/homelogo"
android:title="Home" /></group></menu>
这就是我在 main 中创建它的方式 activity
navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
(..........)
我怎样才能做到?我已经尝试 android:gravity 但它不起作用。
在您的 main.xml
中有 android.support.design.widget.NavigationView
,它具有以下属性:android:layout_gravity="end"
。你必须把它设置为对,所以它会像这样:android:layout_gravity="right"
。
剩下的由设计支持库完成。
请注意,Android Studio 将显示一条警告,提示您应使用 end
而不是 right
以确保正确的行为左语言。您可以忽略此消息。
它确实改变了,只有两件事要做,
从 android studio->file->new->activity ->Navigation Draw 添加一个新的 activity 到您的 android 应用程序后....
你必须改变
android:layout_gravity="right"
在主布局中
android.support.design.widget.NavigationView 和
drawer.closeDrawer(GravityCompat.END);
在 main activity .
中的 OnNavigationItemSelected() 函数中
尝试设置 android:layout_gravity="end" 而不是 android:layout_gravity="start"
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
如何让导航抽屉从右向左打开?
Main.xml
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/navigation"
android:background="#FFE7FF"/>
drawer_header.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:baselineAligned="false"
android:orientation="vertical">
navigation.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
<item
android:id="@+id/Home"
android:checked="true"
android:icon="@drawable/homelogo"
android:title="Home" /></group></menu>
这就是我在 main 中创建它的方式 activity
navigationView = (NavigationView) findViewById(R.id.navigation_view);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
(..........)
我怎样才能做到?我已经尝试 android:gravity 但它不起作用。
在您的 main.xml
中有 android.support.design.widget.NavigationView
,它具有以下属性:android:layout_gravity="end"
。你必须把它设置为对,所以它会像这样:android:layout_gravity="right"
。
剩下的由设计支持库完成。
请注意,Android Studio 将显示一条警告,提示您应使用 end
而不是 right
以确保正确的行为左语言。您可以忽略此消息。
它确实改变了,只有两件事要做,
从 android studio->file->new->activity ->Navigation Draw 添加一个新的 activity 到您的 android 应用程序后....
你必须改变 android:layout_gravity="right" 在主布局中 android.support.design.widget.NavigationView 和 drawer.closeDrawer(GravityCompat.END); 在 main activity .
中的 OnNavigationItemSelected() 函数中尝试设置 android:layout_gravity="end" 而不是 android:layout_gravity="start"
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />