3 Stimmen

Wie kann man das Symbol des Tab-Hosts nach der Einrichtung ändern? (Android)

Ich versuche, das Symbol für eine der Registerkarten des Registerkarten-Hosts bei der Ausführung zu ändern Zeit zu ändern. Ich bin nicht in der Lage, herauszufinden, wie ich das Widget verwenden kann. jemand mir sagen, wie das geht?

 spec = tabHost.newTabSpec("hello").setIndicator("hello",
       res.getDrawable(R.drawable.tab1)).setContent(intent);
 tabHost.addTab(spec)

Die xml-Datei sieht wie folgt aus selector xmlns:Android="http://schemas.Android.com/apk/res/Android" -- Wenn ausgewählt, verwenden Sie grau -- Element Android:drawable="@drawable/icon1" Android:state_selected="true" /> -- Wenn nicht ausgewählt, verwenden Sie white- Element Android:drawable="@drawable/icon1" /selector

Danke, Titus

1voto

theczechsensation Punkte 4075

So ändern Sie das Symbol, nachdem der TabHost (untergeordnete Registerkarte) erstellt wurde. Diese Lösung verwendet nicht den XML-Selektor, dieser Code wird das Symbol dauerhaft ändern.

View ic = (View) tabHost.getTabWidget().getChildTabViewAt(0).findViewById(android.R.id.icon);
ic.setBackgroundResource(R.drawable.icon_public);

In diesem Beispiel wird das Symbol der ersten Registerkarte geändert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X