方法 setDrawerListener 已弃用
Method setDrawerListener is deprecated
当我在我的应用程序上执行某些操作时,我发现我的应用程序上的导航抽屉缩小了大小。但我什么都没做。
然后,在检查代码后,我看到 setDrawerListener 已被弃用。有人对此有解决方案吗?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
改用addDrawerListener()
。
我想我要回答我的问题了。当您选择 "wrap_content"
时,最新的 navigationView
会在几乎 18dp
时生成其默认值 android:layout_height
。因此,您必须为 navigationView
选择您想要的 android:layout_height
或简单地制作 android:layout_height="match_parent"
.
<android.support.design.widget.NavigationView
android:layout_width="320dp"
android:layout_height="550dp"
android:id="@+id/navigation_view_admin"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
无论如何,当您在导航抽屉中添加项目时,它的高度会自动增加。
最后,用addDrawerListener()
代替Luxi Liu说的setDrawerListener()
替换:
drawer.setDrawerListener(...);
和
drawer.addDrawerListener(...);
public void setDrawerListener(DrawerLayout.DrawerListener listener)
Sets a listener to be notified of drawer events.
Note that this method is deprecated and you should use addDrawerListener(DrawerLayout.DrawerListener)
to add a listener and removeDrawerListener(DrawerLayout.DrawerListener)
to remove a registered listener.
替换setDrawerListener
drawerLayout.setDrawerListener(actionBarDrawerToggle);
和addDrawerListener
drawerLayout.addDrawerListener(actionBarDrawerToggle);
示例
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
assert drawer != null;
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
assert navigationView != null;
navigationView.setNavigationItemSelectedListener(this);
在官方Android开发者文档
当我在我的应用程序上执行某些操作时,我发现我的应用程序上的导航抽屉缩小了大小。但我什么都没做。
然后,在检查代码后,我看到 setDrawerListener 已被弃用。有人对此有解决方案吗?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
改用addDrawerListener()
。
我想我要回答我的问题了。当您选择 "wrap_content"
时,最新的 navigationView
会在几乎 18dp
时生成其默认值 android:layout_height
。因此,您必须为 navigationView
选择您想要的 android:layout_height
或简单地制作 android:layout_height="match_parent"
.
<android.support.design.widget.NavigationView
android:layout_width="320dp"
android:layout_height="550dp"
android:id="@+id/navigation_view_admin"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
无论如何,当您在导航抽屉中添加项目时,它的高度会自动增加。
最后,用addDrawerListener()
代替Luxi Liu说的setDrawerListener()
替换:
drawer.setDrawerListener(...);
和
drawer.addDrawerListener(...);
public void setDrawerListener(DrawerLayout.DrawerListener listener)
Sets a listener to be notified of drawer events.Note that this method is deprecated and you should use
addDrawerListener(DrawerLayout.DrawerListener)
to add a listener andremoveDrawerListener(DrawerLayout.DrawerListener)
to remove a registered listener.
替换setDrawerListener
drawerLayout.setDrawerListener(actionBarDrawerToggle);
和addDrawerListener
drawerLayout.addDrawerListener(actionBarDrawerToggle);
示例
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
assert drawer != null;
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
assert navigationView != null;
navigationView.setNavigationItemSelectedListener(this);
在官方Android开发者文档