Android-Developer и HpTerm помог мне в правильном рирекции,
- Указывая на то, что это действительно специфично для NavigationDrawer (которым я уже был используя как в примере Google)
- Сообщаем, где найти значок
ic_drawer.png
(Android Asset Studio)
К сожалению, создания ActionBarDrawerToggle, как показано ниже, недостаточно. По крайней мере, на моем тестовом устройстве Nexus 7 (API 18).
drawerToggle = new ActionBarDrawerToggle(this,
drawerLayout,
R.drawable.ic_navigation_drawer,
R.string.side_menu_open,
R.string.side_menu_closed) {
// ...
};
Частичное решение (уровень API 18+)
Я нашел один способ заставить индикатор отображаться: _ 3_. Обратная сторона: этот метод был добавлен в API уровня 18.
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
getActionBar().setDisplayHomeAsUpEnabled(true); // also required
if (Build.VERSION.SDK_INT >= 18) {
getActionBar().setHomeAsUpIndicator(
getResources().getDrawable(R.drawable.ic_navigation_drawer));
}
}
Итак, остается вопрос: как заставить это работать (в моем случае) для уровней API с 14 по 17?
Я проверил на устройстве 4.1.2 (API 16), что значок ic_drawer
не отображается. С setDisplayHomeAsUpEnabled(true)
я получаю обычный значок «домой» (маленькая стрелка, указывающая влево), а без него место, оставшееся до значка моего приложения, остается пустым.
Окончательное решение
Получил работу, используя отредактированную версию ответа разработчика Android.
Как ни странно, в моем коде инициализации ActionBarDrawerToggle не хватало следующего:
// Defer code dependent on restoration of previous instance state.
drawerLayout.post(new Runnable() {
@Override
public void run() {
mDrawerToggle.syncState();
}
});
С учетом этого звонка setHomeAsUpIndicator()
не требуется.
person
Jonik
schedule
01.11.2013
NavigationDrawer
или просто хотите, чтобы он выглядел как на картинке? Индикатор ящика - это настраиваемый значок, который не только Google использует, чтобы указать, что нажатие кнопки «Домой» изActionBar
откроет меню. - person hardartcore   schedule 01.11.2013NavigationDrawer
и мне нужен такой же вид, как на картинке. :) - person Jonik   schedule 01.11.2013