事象
Navigation Drawer 付きの Activity を作りたいときは、
このウィザードを使うと、テンプレートが自動で生成されるので便利ですよね。
ですが、生成されたコードをそのまま実行すると、次のようになります。
赤い丸で囲んだ部分に注目して欲しいのですが、ドロワーを開閉しても ≡ から ← へアイコンが変わるアニメーションがされません。それどころか、アイコンは初めから ← のままじゃありませんか!
対応
そこで、ドロワーの開閉時に ≡ から ← へアイコンがアニメーションするように、コードを少し書き換えてみましょう。
-
NavigationDrawerFragment.java
の import 群の中からandroid.support.v4.app.ActionBarDrawerToggle
を探して、v4
の部分をv7
へ書き換えます。これにより、非推奨クラスの警告も解消されます。 - ActionBarDrawerToggle の生成部分を書き換えます。(後述)
- 完了。
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
これで、左上のアイコンがアニメーションするようになります。
以上です。