2012-03-23 5 views
1

Je l'ai cherché depuis longtemps maintenant ... J'écris une application qui devrait être compatible entre Android 2.2 et Android 4.0. Depuis Android 4.0 Tabs sont obsolètes je me demandais quelle serait la bonne façon de le faire? Si j'utilise encore les Tabs comme dans mes tests, ils ont l'air assez sympas (de la même taille, pas d'icônes ...) mais si je le lance sur un 2.2 ils ont tous l'air pressés ensemble (juste la taille du titre de chaque onglet, peut-être à faire avec moi en utilisant un HorizontalScrollView?) Quelle serait la bonne décision ici? Juste en utilisant des onglets pour Android 2.2 et 4.0? Et si oui, comment puis-je définir les onglets sur 2.2 pour être tous de la même taille? Utiliser des fragments sur 4.0 et des onglets sur 2.2? Et si oui, comment pourrais-je l'implémenter? Si je devais utiliser les onglets, est-ce que je devrais utiliser seulement 4 onglets (j'ai entre 2 et 10 - dynamiquement) et mettre un onglet "Plus" supplémentaire? Si oui, comment ferais-je cela?TabHost et Android 4.0 ICS

J'espère que la question est compréhensible. Si ce n'est pas le cas, n'hésitez pas à demander plus d'informations.

Répondre

7

Vous pouvez vérifier ActionBarSherlock - il fournit les belles nouvelles ICS onglets pour Android 2.1+ et a des échantillons parfaits.

+0

Je voulais essayer cela il y a longtemps déjà ... Je vais essayer, merci beaucoup! – user754730

+1

De rien. C'est un excellent outil pour créer des applications compatibles :) – Tim

+0

Wow c'est vraiment ... Il suffit d'installer les applications de démonstration de Play Store ... Vraiment absolument génial! Merci encore, je pense maintenant que je vais utiliser ActionBarSherlock pour l'App! – user754730

0

essayez celui-ci le code

public class WebMenu extends TabActivity { 
    //Intent intent; 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tebmenu); 

     Resources res = getResources(); 
     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 

     Intent intent = new Intent().setClass(this, Add_webpage.class); 
     spec = tabHost 
       .newTabSpec("Add new Web Page") 
       .setIndicator("New", 
         res.getDrawable(R.drawable.folder_web_blue)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, WebHistory.class); 
     spec = tabHost.newTabSpec("Web History") 
       .setIndicator("History", res.getDrawable(R.drawable.webhistory)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, WebList.class); 
     spec = tabHost.newTabSpec("Web List") 
       .setIndicator("List", res.getDrawable(R.drawable.weblist)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(2); 
    } 
} 
+0

Merci beaucoup! Mais je ne pense pas que vous l'ayez bien compris. J'ai déjà mon code écrit. J'ai mes onglets etc. Je me demandais quelle est la bonne façon? – user754730