我目前正在开发一个显示标签主机的应用程序,标签主机中的每个标签都是一个活动。现在,我想要做的是将文本选项卡指示符替换为图像。这些是我用于实现标签主机活动的代码。 TabHostActivity:
public class TabHostActivity extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tabhost);
TabHost tabHost = (TabHost) findViewById (android.R.id.tabhost);
TabSpec tab1 = tabHost.newTabSpec("First Tab");
TabSpec tab2 = tabHost.newTabSpec("Second Tab");
TabSpec tab3 = tabHost.newTabSpec("Third Tab");
tab1.setIndicator("Tab1");
tab1.setContent(new Intent(this, Tab1Activity.class));
tab1.setContent(new Intent(this, Tab1Activity.class));
tab2.setIndicator("Tab2");
tab2.setContent(new Intent(this, Tab2Activity.class));
tab3.setIndicator("Tab3");
tab3.setContent(new Intent(this, Tab3Activity.class));
tabHost.addTab(tab1);
tabHost.addTab(tab2);
tabHost.addTab(tab3);
}
}
正如您在我的代码中看到的那样,我将Tab1,Tab2,Tab3设置为我的标签指示器,并希望将其替换为图像
这是我的activity_tabhost.xml
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/tabhost">
<LinearLayout
android:id="@+id/LinearLayout01"
android:orientation="vertical"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
答案 0 :(得分:3)
在draw-able文件夹中的选项卡中添加要使用的图像并通过这种方式。
tab1.setIndicator("",getResources().getDrawable(R.drawable.tab1));
tab2.setIndicator("",getResources().getDrawable(R.drawable.tab2));
tab3.setIndicator("",getResources().getDrawable(R.drawable.tab3));
答案 1 :(得分:1)
试试这可能对你有帮助,
MyTab.setIndicator("", getResources().getDrawable(R.drawable.tabicon));