J'ai une application qui utilise ActionBarSherlock pour fournir un contrôle ViewPager pour la navigation par tabulation, ainsi qu'un ActionBar standard. Tout fonctionne correctement, sauf que lorsque j'utilise une vue ActionBar personnalisée, la barre d'action déplace sa position sous les contrôles de tabulation.Utilisation d'ABS ViewPager avec une vue ActionBar personnalisée
Lorsque vous utilisez un ActionBar standard (pas de vue personnalisée), tout fonctionne comme prévu:
Cependant, quand je passe ActionBar utiliser une vue personnalisée (avec aucun autre changement de code que ce soit), la barre d'action passe en dessous des commandes de l'onglet:
est-il une raison particulière pour ce? Est-ce que je peux faire quelque chose pour utiliser une vue de barre d'action personnalisée, mais toujours disposée avec la barre d'action au-dessus des onglets? Toutes les mises en page XML utilisées dans cet exemple sont extrêmement simples, comme indiqué dans le code ci-dessous. J'utilise ActionBarSherlock 4.1.0 (à la date d'écriture, la dernière version stable). Ce problème se produit sur Android 2.2 (la première version prise en charge) et Android 4.1.
ABS Mon code d'initialisation:
setContentView(R.layout.main); // XML layout that currently contains only the ViewPager
mViewPager = (ViewPager) findViewById(R.id.viewPager);
// Set up action bar
ActionBar ab = getSupportActionBar();
Drawable gd = getResources().getDrawable(R.drawable.actionbar_bg); // Background gradient
ab.setBackgroundDrawable(gd);
ab.setCustomView(R.layout.actionbar_custom); // For this example, contains just a TextView
ab.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
// Set up tabs
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
mTabsAdapter = new TabsAdapter(this, mViewPager);
mTabsAdapter.addTab(ab.newTab().setText("Tab 1"), Tab1Fragment.class, null);
mTabsAdapter.addTab(ab.newTab().setText("Tab 2"), Tab2Fragment.class, null);
mTabsAdapter.addTab(ab.newTab().setText("Tab 3"), Tab3Fragment.class, null);
Non. Il s'agit d'un bug censé être corrigé dans Android 4.1. –
désolé mais je ne comprends pas comment cela fonctionne pour vous. si ajouter actionBar.setDisplayOptions (ActionBar.DISPLAY_SHOW_HOME); après ActionBar.DISPLAY_SHOW_CUSTOM il n'affiche plus un ActionBar personnalisé pour moi – Egis