Aller au contenu

Personnaliser sa Tabhost ( Icones onglets )


gogui63

Recommended Posts

Bonjour , j'ai crée ma Tabhost contenant 5 onglets, ce que je cherche c'est personnaliser les icônes des onglets avec des icônes que j 'ai moi même crée , la question est toute bete mais je ne sais pas comment faire ...

Je commence dans la creation d'applications, j'ai réussi à changer l’icône de l'application en elle-même .

Voila mon bout de code si sa peut aider :

package com.androiddev.tab;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;

public class TabAndroidActivity extends TabActivity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Resources res = getResources();
    TabHost tabHost = getTabHost();
    TabHost.TabSpec spec;
    Intent intent;

    intent = new Intent().setClass(this, Tab1.class);
    spec = tabHost.newTabSpec("Cours").setIndicator("Cours", res.getDrawable(android.R.drawable.ic_menu_today)).setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Tab2.class);
    spec = tabHost.newTabSpec("Annales").setIndicator("Annales", res.getDrawable(android.R.drawable.ic_menu_manage)).setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Tab3.class);
    spec = tabHost.newTabSpec("Thèmes").setIndicator("Thèmes", res.getDrawable(android.R.drawable.ic_menu_mapmode)).setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Tab4Activity.class);
    spec = tabHost.newTabSpec("Corrigés").setIndicator("Corrigés", res.getDrawable(android.R.drawable.ic_menu_manage)).setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, Tab5Activity.class);
    spec = tabHost.newTabSpec("CPB").setIndicator("CPB", res.getDrawable(android.R.drawable.ic_menu_search)).setContent(intent);
    tabHost.addTab(spec);


    tabHost.setCurrentTab(1);
   }
}

Ma question est donc remplacer les icônes ic_menu_****** par mes icônes

Donc comment les intégrées à mon code , merci d'avance ! :-)

Lien vers le commentaire
Partager sur d’autres sites

Il faut que tu mettes tes icones dans les ressources de ton projet (répertoires res/drawable-xxx). Ensuite, tu pourras les référencer dans ton code de façon similaire à l'utilisation des ressources systèmes, en remplacant android.R.drawable.ic_xxx par R.drawable.yyy, avec yyy le nom de ta ressource

Tu peux consulter cette partie de la doc développeur, sur la gestion des ressources, pour plus de détails

  • Like 1
Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup chpil ! :-)

Nouveau problème mon appli est presque parfaite niveau graphique mais le tactile ne marche plus :o je ne peux plus passer d'un onglet à un autre par le tactile ( mais sa marche encore avec les flèches ( physique ) de l’émulateur )

D’où cela pourrai venir ?

Modifié par gogui63
Lien vers le commentaire
Partager sur d’autres sites

Aucune idée. Si tes seules modifications par rapport à ton code précédent (qui fonctionnait ?) concerne le remplacement des icones systemes par les tiennes, cela ne devrait avoir aucun impact. As-tu fait d'autres modifications ?

Lien vers le commentaire
Partager sur d’autres sites

Eclipse fait de la magie des fois , j'ai fermé et rouvert eclipse et hop magie tout qui remarche ..

Nouvelle question : j'aimerai lire des PDF dans mon aplli , le mieux est de les inclures comme ressources directement ou de passer par une webview avec tout mes pdf stockés en ligne ( environ 60 pdf ) ?

Merci ;)

Modifié par gogui63
Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...