アプリで何かをしているときに、アプリのナビゲーションドロワーのサイズが小さくなっているのがわかります。しかし、私はそれについて何もしていません。
次に、コードをチェックした後、setDrawerListenerが廃止されていることがわかりました。誰かがこれに対する解決策を持っていますか?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
アプリで何かをしているときに、アプリのナビゲーションドロワーのサイズが小さくなっているのがわかります。しかし、私はそれについて何もしていません。
次に、コードをチェックした後、setDrawerListenerが廃止されていることがわかりました。誰かがこれに対する解決策を持っていますか?
drawerLayout.setDrawerListener(actionBarDrawerToggle);
回答:
addDrawerListener()代わりに使用してください。
removeDrawerListener()ようadd...に名前が付けられていると追加しました
use 'addDrawerListener' instead非推奨のメッセージに含めることができます!
交換:
drawer.setDrawerListener(...);
と
drawer.addDrawerListener(...);
public void setDrawerListener(DrawerLayout.DrawerListener listener)ドロワーイベントの通知を受けるリスナーを設定します。このメソッドは非推奨であり
addDrawerListener(DrawerLayout.DrawerListener)、リスナーを追加removeDrawerListener(DrawerLayout.DrawerListener)したり、登録されたリスナーを削除したりするには、このメソッドを使用する必要があることに注意してください。
onCreate()画面を回転すると、アクティビティ全体が再作成され、新しいリスナーが設定されます。より複雑なケースは、(おそらく)複数のリスナーをに設定する必要はないと考えて処理する必要がありますDrawerLayout。
交換する 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);
私は私の質問に答えるつもりだと思います。を選択すると、ほとんどの場合navigationView、最新バージョンがデフォルトandroid:layout_heightを生成し18dpます"wrap_content"。だから、あなたは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>
とにかく、ナビゲーションドロワーにアイテムを追加すると、高さが自動的に増加します。
最後に、Luxi Liuが言ったようにaddDrawerListener()代わりに使用しsetDrawerListener()ます。