アプリで何かをしているときに、アプリのナビゲーションドロワーのサイズが小さくなっているのがわかります。しかし、私はそれについて何もしていません。
次に、コードをチェックした後、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()
ます。