2010-12-09 15 views
1

J'ai suivi le tutoriel here à propos de l'onglet. Chaque onglet a maintenant une image mais quand je sélectionne un onglet, il n'est pas remplacé par une image sombre. Y a-t-il un truc qui me manque? Code Parexemple pour un onglet estOnglet L'image sélectionnée ne fonctionne pas

spec = tabHost.newTabSpec("create").setIndicator("Create", 
          res.getDrawable(R.drawable.testimg)) 
         .setContent(intent); 
     tabHost.addTab(spec); 

Ensuite, j'ai créé create.xml avec le contenu suivant

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use grey --> 
    <item android:drawable="@drawable/testimg2" 
      android:state_selected="true" /> 
    <!-- When not selected, use white--> 
    <item android:drawable="@drawable/testimg" /> 
</selector> 

Alors, quand je sélectionne l'onglet Créer alors son image aurait dû être remplacé par testimg2.png mais il ne se produit pas. Le reste du code est similaire à un tutoriel. Qu'est-ce qui me manque ici pour que l'image sélectionnée ne soit pas basculée?

Merci

Répondre

1

Vous l'avez fait comme ça, à droite ?:

spec = tabHost.newTabSpec("create").setIndicator("Create", 
         res.getDrawable(R.drawable.testimg)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

vous devez définir le dessinable être 'create.xml'

put 'create.xml' dans le dossier 'drawable' (pas de fichier hdpi, ldpi, mdpi Si aucun dossier 'drawable' n'existe, créez-en un) (Bien qu'il ne soit pas nécessaire de le mettre dans un dossier 'drawable', et peut-être vous pouvez mettre il sous d'autres dossiers drawable aussi, je n'ai pas étudié sur cela, mais c'est une bonne pratique)

il Posé comme this-

res.getDrawable(R.drawable.create) 

Il devrait fonctionner alors.