Интерфейс, диалоги, темы, стили, меню
-
rgnrok
- Сообщения: 7
- Зарегистрирован: 13 дек 2013, 18:52
Сообщение
rgnrok » 13 дек 2013, 19:06
Добрый вечер.
Есть Activity с ActionBar в котором навигация осуществляется при помощи табов.
В портретном режиме табы располагаются под ActionBar, однако при повороте экрана табы перемешаются внутрь ActionBar
Подскажите пожалуйста как можно сделать так, чтобы табы были всегда под ActionBar.
Или хотя бы как сделать чтобы отображался тайтл нормально
Код: Выделить всё
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_highway);
// Set up the action bar.
final ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
// For each of the sections in the app, add a tab to the action bar.
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
actionBar.addTab(
actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
}
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
}
Спасибо
-
Вложения
-

- action.png (19.28 КБ) 3550 просмотров
-
alexmedv
- Сообщения: 29
- Зарегистрирован: 29 май 2013, 12:55
Сообщение
alexmedv » 14 дек 2013, 13:00
Скорее всего никак нельзя. ActionBar так устроена что особо и не спрашивает программиста как ей разместить табы.
Чтоб тайтл отображался нормально, попробуй убрать кнопки под "overflow button" или вообще сделай отдельную панель с кнопками снизу.
-
rgnrok
- Сообщения: 7
- Зарегистрирован: 13 дек 2013, 18:52
Сообщение
rgnrok » 15 дек 2013, 09:31
Спасибо за ответ.
Пробовал убрать кнопки вниз, в портретном режиме, все ок, но при повороте они также уходили наверх)
Переделал все под Tab Host, так выглядит как надо.
Просто странно, почему они не добавили какой-нибудь флаг для ActionBar, ведь гугл сам часто располагает табы всегда ниже бара, тот же "маркет" или "фото"
-
alexmedv
- Сообщения: 29
- Зарегистрирован: 29 май 2013, 12:55
Сообщение
alexmedv » 15 дек 2013, 11:36
ведь гугл сам часто располагает табы всегда ниже бара, тот же "маркет" или "фото"
Да, я тоже обратил на это внимание сегодня. Мне кажется что табы располагаются на отдельной строчке из-за того что их очень много. Можно попробовать увеличить число вкладок (для эксперимента) и посмотреть что получится.
-
rgnrok
- Сообщения: 7
- Зарегистрирован: 13 дек 2013, 18:52
Сообщение
rgnrok » 15 дек 2013, 18:42
Тоже возникала подобная идея, но в маркете есть категории у которых количество табов всего 3-4 шт и они легко влазят в экран, тоже стандартное приложение "Фото" всего 2 вкладки, и при повороте даже на планшете они остаются под баром.
Пробовал увеличить у себя в приложении количество табов, но они либо превращаются в выпадающий список (если тип навигации указан как лист) либо в прокручивающиеся табы (если навигация табами выбрана), но в любом случае остаются внутри actionBar
Когда искал решение, где-то прочел что позиционирование экшн бара не зависит от размера экрана, а только от ориентации. Поэтому даже на маленьких старых девайсах все пытается влезть наверх