#android
#Android
Вопрос:
Как я могу контролировать количество вкладок, отображаемых на панели действий?
Для установки вкладок я использую следующий код:
public class MainActivity extends ActionBarActivity implements TabListener {
private List<Fragment> fragList = new ArrayList<Fragment>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
ActionBar bar = getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Tab tabVipusk = bar.newTab();
tabVipusk.setText("Выпуск");
tabVipusk.setTabListener(this);
bar.addTab(tabVipusk);
Tab tabConstuctor = bar.newTab();
tabConstuctor.setText("Конструктор");
tabConstuctor.setTabListener(this);
bar.addTab(tabConstuctor);
Tab tabPopular = bar.newTab();
tabPopular.setText("Популярное");
tabPopular.setTabListener(this);
bar.addTab(tabPopular);
Tab tabActual = bar.newTab();
tabActual.setText("Актуальное");
tabActual.setTabListener(this);
bar.addTab(tabActual);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
return true;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
if (fragList.size() > 0 amp;amp; fragList.size() >= tab.getPosition()) {
ft.replace(android.R.id.content, fragList.get(tab.getPosition()));
} else {
fragList.add(new VipuskTabFragment());
fragList.add(new ConstructorTabFragment());
fragList.add(new PopularTabFragment());
fragList.add(new ActualTabFragment());
ft.replace(android.R.id.content, fragList.get(tab.getPosition()));
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// if (fragList.size() >= tab.getPosition()) {
// ft.remove(fragList.get(tab.getPosition()));
// }
}
}
Но в портретном режиме отображаются только 3 вкладки. Но без полей четвертая вкладка явно поместится. Итак, на самом деле есть место для 4 вкладок. Как отобразить 4 вкладки?
Комментарии:
1. Обратите внимание, что использование вкладок на панели действий не рекомендуется в предварительном просмотре разработчика «L», и оно должно оставаться устаревшим в будущих версиях Android. Пожалуйста, рассмотрите возможность использования какой-либо альтернативной вкладки, такой как
ViewPager
withPagerTabStrip
.
Ответ №1:
Я использовал FragmentTabHost, который использует фиксированные вкладки и идеально подходит для моего дела