Android Default HomeAsUp на пользовательской панели действий
У меня есть пользовательская панель действий Android с пользовательским макетом и стилем. Мне нужно показать кнопку "Домой как вверх" для моего навигационного ящика. Проблема в том, что кнопка не отображается в моем пользовательском стиле макета. Мне нужен домашний значок Android по умолчанию, как значок "вверх", так что у меня может быть значок навигационной панели по умолчанию. (Значок с анимацией открывания и закрывания навигационного ящика).
Теперь я попытался сделать
getActionBar().setDisplayHomeUpAsEnabled(true);
getActionBar().setHomeButtonEnabled(true)
Но кнопка домой не появляется. Может кто-нибудь сказать мне, как реализовать стандартную домашнюю кнопку на пользовательской панели действий?
2 ответа
Для меня это работает для отображения навигации вверх. Я все еще выясняю, как на самом деле реализовать навигацию вверх.
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);
Похоже, вы можете просто использовать удобную функцию для обработки следующим образом:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent;
intent = NavUtils.getParentActivityIntent(this);
NavUtils.navigateUpTo(this, intent);
return true;
}
return super.onOptionsItemSelected(item);
}
Для обработки кнопок в пользовательской части вы можете добавить onClick в макеты и реализовать указанные функции.
Старый вопрос, но вот что я использовал на моем...
...
getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);
getActionBar().setDisplayHomeAsUpEnabled(true);
...
А затем в AndroidManifest.xml:
<activity
...
android:parentActivityName="com.example.app.MainActivity"
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.app.MainActivity">
</meta-data>
</activity>
Значения метаданных для Android 4.0 и ниже поддерживаются, если используется ActionBarSherlock или AppCompat, но для 4.1 и выше просто добавьте android: parentActivityName в объявление активности в манифесте.
Это позволило мне использовать навигацию вверх (показать кнопку И действительно перемещаться вверх), пока у меня была настраиваемая раскладка панели действий.
Надеюсь, что это поможет вам или кому-то еще в будущем.