当我在我的应用程序上做一些事情时,我看到我的应用程序上的导航抽屉缩小了它的大小。但我什么都没做。
然后,在检查代码后,我看到setDrawerListener已弃用。有人有答案吗?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
当我在我的应用程序上做一些事情时,我看到我的应用程序上的导航抽屉缩小了它的大小。但我什么都没做。
然后,在检查代码后,我看到setDrawerListener已弃用。有人有答案吗?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
当前回答
请改用addDrawerListener()。
其他回答
在官方Android开发者文档中
我想我要回答我的问题了。当你选择“wrap_content”时,最新的navigationView生成它的默认android:layout_height几乎为18dp。所以,你必须选择android:layout_height,你想为你的navigationView或简单地使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()。
取代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);
替换:
drawer.setDrawerListener(...);
与
drawer.addDrawerListener(...);
setDrawerListener(DrawerLayout)DrawerListener listener)设置一个监听器,以通知抽屉事件。 注意,此方法已弃用,您应该使用addDrawerListener(DrawerLayout.DrawerListener)来添加一个侦听器,并使用removeDrawerListener(DrawerLayout.DrawerListener)来删除已注册的侦听器。
请改用addDrawerListener()。