2010-12-09 11 views
1

Ich habe das Tutorial here über Tab-Ansicht verfolgt. Jedes Tab hat jetzt ein Bild, aber wenn ich ein Tab anwähle, wird es nicht durch ein dunkles Bild ersetzt. Gibt es einen Trick, den ich vermisse? Forexample Code für eine Lasche istTab View Ausgewähltes Bild funktioniert nicht

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

Dann habe ich create.xml mit folgendem Inhalt

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

Also, wenn ich erstellen wählen Sie die Registerkarte dann sollte sein Bild durch testimg2.png ersetzt worden, aber es ist nicht passiert. Der Rest des Codes ist ähnlich wie das Tutorial. Was fehlt mir hier, dass das ausgewählte Bild nicht umgeschaltet wird.

Dank

Antwort

1

Du hast es so, rechts ?:

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

Sie die ziehbar gesetzt haben 'create.xml'

put 'create.xml' zu sein innerhalb des "drawable" -Ordners (keine hdpi, ldpi, mdpi. wenn irgendein "drawbarer" Ordner nicht existiert, erstelle einen) (Obwohl es nicht notwendig ist, ihn nur in einen 'zeichnbaren' Ordner zu legen, und vielleicht kannst du ihn setzen es unter anderen ziehbaren Ordnern auch, ich habe nicht darüber nachgeforscht, aber es ist eine gute Praxis)

setzen es dann wie this-

res.getDrawable(R.drawable.create) 

Es sollte dann funktionieren.

Verwandte Themen