Domanda

ho seguito un'esercitazione qui sulla visualizzazione a schede. Ogni scheda ha ora un'immagine, ma quando seleziono alcuni scheda allora doesnt ottenuto sostituito un'immagine scura con. C'è qualche trucco che mi manca. Codice peresempio per una scheda è

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

Poi ho creato create.xml con i seguenti contenuti

<?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>

Così, quando seleziono scheda quindi la sua immagine avrebbe dovuto essere sostituito da testimg2.png ma non sta accadendo Crea. Resto del codice è simile come tutorial. Che cosa mi manca qui che l'immagine selezionata non viene attivata.

Grazie

È stato utile?

Soluzione

L'hai fatto in questo modo, a destra:?

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

si dovrà impostare il drawable di essere 'create.xml'

put 'create.xml' dentro 'disegnabile' cartella (senza hdpi, ldpi, MDPI. Eventuali 'disegnabile' cartella non esiste, crearne uno) (Anche se non può essere necessario metterlo all'interno di un 'drawable 'cartella unica, e forse si può mettere sotto altre cartelle disegnabili troppo, non ho studiato su questo, ma è un buone pratiche)

quindi impostarlo come questo -

res.getDrawable(R.drawable.create)

Dovrebbe funzionare allora.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top