Jump to content

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 ! :-)

Link to comment
Share on other 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
Link to comment
Share on other 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 ?

Edited by gogui63
Link to comment
Share on other 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 ?

Link to comment
Share on other 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 ;)

Edited by gogui63
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...