Android

Android Studio 1.1.0 で Navigation Drawer 付きの Activity を作った場合に、左上のアイコンを回転させるようにする

More than 3 years have passed since last update.


事象

Navigation Drawer 付きの Activity を作りたいときは、

NavigationDrawerActivity作成ウィザード.png

このウィザードを使うと、テンプレートが自動で生成されるので便利ですよね。

ですが、生成されたコードをそのまま実行すると、次のようになります。

矢印の遷移1.png

赤い丸で囲んだ部分に注目して欲しいのですが、ドロワーを開閉しても ≡ から ← へアイコンが変わるアニメーションがされません。それどころか、アイコンは初めから ← のままじゃありませんか!


対応

そこで、ドロワーの開閉時に ≡ から ← へアイコンがアニメーションするように、コードを少し書き換えてみましょう。



  1. NavigationDrawerFragment.java の import 群の中から android.support.v4.app.ActionBarDrawerToggle を探して、 v4 の部分を v7 へ書き換えます。これにより、非推奨クラスの警告も解消されます。

  2. ActionBarDrawerToggle の生成部分を書き換えます。(後述)

  3. 完了。


ActionBarDrawerToggle 生成部分の書き換え

アイコンを指定する第 3 引数を削除します。

元のコード:


NavigationDrawerFragment.java


mDrawerToggle = new ActionBarDrawerToggle(
getActivity(),
mDrawerLayout,
R.drawable.ic_drawer,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close

書き換え後のコード:


NavigationDrawerFragment.java


mDrawerToggle = new ActionBarDrawerToggle(
getActivity(),
mDrawerLayout,
R.string.navigation_drawer_open,
R.string.navigation_drawer_close

これで、左上のアイコンがアニメーションするようになります。

矢印の遷移2.png

 

以上です。