无法在Android 4.1.2上更改选项卡图标

时间:2013-06-07 12:41:49

标签: android android-fragments android-tabhost android-tablelayout android-drawable

当我尝试将2.3中的标签图标更改为工作但不是在Android 4.1.2上。

 mTabHost.addTab(mTabHost.newTabSpec("device").setIndicator("Device",
                    getResources().getDrawable(R.drawable.ic_launcher)),
                    FragmentOne.class, null);

在设备3.0或更低版本上使用时,我可以看到ic_launcher图标。

2 个答案:

答案 0 :(得分:1)

我的标签中填充了自定义布局,解决了我的问题 -

TabSpec tSpecWork = mTabHost.newTabSpec("work");
        View tabIndicator   = LayoutInflater.from(this).inflate(R.layout.tabimage,mTabHost.getTabWidget(),false);
        ((TextView) tabIndicator.findViewById(R.id.title_tab)).setText(getString(R.string.message)); 
        ((ImageView) tabIndicator.findViewById(R.id.icon_tab)).setImageResource(R.drawable.ic_launcher);

        tSpecWork.setIndicator(tabIndicator);    

        mTabHost.addTab(tSpecWork,
                FragmentOne.class, null);

这是我的tabimage xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:orientation="vertical"
  android:layout_weight="1"
  android:padding="5dp" >

 <ImageView
      android:id="@+id/icon_tab"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
 />

  <TextView
      android:id="@+id/title_tab"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textColor="#000000" />
</LinearLayout>

答案 1 :(得分:0)