2010-06-24 56 views

回答

15

这是我有:

//TabActivity.onCreate() 
TabHost tabHost = getTabHost(); 
TabHost.TabSpec spec; 
Intent intent; 

intent = new Intent().setClass(this, YourClass.class); 
spec = tabHost.newTabSpec("tab_name").setIndicator("Tab Text", 
      getResources().getDrawable(R.drawable.ic_tab_dialer)) 
      .setContent(intent); 
tabHost.addTab(spec); 

然后,你需要添加ic_tab_dialer.xmlres/drawable/目录与此内容:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_selected="true" 
     android:state_pressed="false" 
     android:drawable="@drawable/ic_tab_selected_dialer" /> 
    <item android:drawable="@drawable/ic_tab_unselected_dialer" /> 
</selector> 

我从网上下载通讯录应用程序的图标GIT回购:

git://android.git.kernel.org/platform/packages/apps/Contacts.git

+1

非常好!非常感谢。大家知道,如果你的标签在点击时不会导致另一个活动,你不需要这个意图,最重要的部分是'getResources()。getDrawable(R.drawable.your_xml_file);'我有在我的标签中没有文字,我也没有使用意图,这就像一个魅力。 – Azurespot 2014-05-06 05:32:56

+0

对我来说很好的解决方案。我使用一个TabLayout只需要设置带有正确drawable的图标,如:tab1.setIcon(getResources()。getDrawable(R.drawable.ic_tab_one,getTheme())); – AlexDG 2016-01-18 10:21:03

相关问题