Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change the icon of tab host once setup? (Android)

I am trying to change the Icon of one of the tabs of tab host at run time. I am not able to figure out hwo to do with the widget. could some one let me know how its done ?

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

The xml file is as below selector xmlns:android="http://schemas.android.com/apk/res/android" -- When selected, use grey -- item android:drawable="@drawable/icon1" android:state_selected="true" /> -- When not selected, use white- item android:drawable="@drawable/icon1" /selector

Thanks , Titus

like image 379
Titus Avatar asked Dec 08 '25 10:12

Titus


1 Answers

Here is how to change the icon after the TabHost (tab child) was created. This solution is not using the XML selector, this code will change the icon permanently.

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

This example will change the icon of first tab.

like image 135
theczechsensation Avatar answered Dec 11 '25 13:12

theczechsensation



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!