По какой-то причине, когда я меняю ориентацию устройства, панель действий неправильно перестраивается, а вкладки (иногда показанные как счетчик) перекрываются с другими пунктами меню.Вкладки панели действий Перекрытие на экране вращения
У меня есть 4 вкладки (работает отлично до 3) (я использую Actionbarsherlock, если это необходимо) На портрете я использую изображения вместо текста для вкладок.
Вот скриншот объяснить:
http://i39.tinypic.com/2vkzuix.jpg
А вот код я использую:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Set up the action bar.
actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Create the adapter that will return a fragment for each of the three
// primary sections of the app.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
// Set up the ViewPager with the sections adapter.
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setEnabled(false);
mViewPager.setAdapter(mSectionsPagerAdapter);
mViewPager.setOffscreenPageLimit(3);
mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
@Override
public void onPageSelected(int position) {
actionBar.setSelectedNavigationItem(position);
}
});
RebuildActionBar();
}
public void RebuildActionBar(){
if(actionBar.getTabCount()>0) actionBar.removeAllTabs();
// For each of the sections in the app, add a tab to the action bar.
for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
if(screen_width>screen_height){
actionBar.addTab(actionBar.newTab()
.setText(mSectionsPagerAdapter.getPageTitle(i))
.setTabListener(this));
} else {
actionBar.addTab(actionBar.newTab()
.setIcon(mSectionsPagerAdapter.getPageIcon(i))
.setTabListener(this));
}
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
RebuildActionBar();
}
В манифесте (только в случае, если вы спросите, у меня есть это работает отлично):
<activity
...
android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
/>
1) Мне нужно, конечно , чтобы очистить оваскуляцию.
И 2) Если вы можете помочь мне отключить счетчик, еще лучше. Мне нужны только вкладки, даже если мне нужно использовать изображения в обеих ориентациях.
Спасибо Джейк. Теперь я это помню. Было бы здорово, если бы вы могли найти способ работы с configChanges (подстройка rebuildTabs). Ты мужчина! – Dandy