我找到了很多在 android 中使用 xml 文件创建选项卡的示例,但我需要以编程方式创建多个选项卡。请指导我。
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:tag="tab0"
android:text="Tab 1"
android:background="@android:drawable/btn_star_big_on"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:tag="tab1"
android:text="Tab 2"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
<TextView
android:tag="tab2"
android:text="Tab 3"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
/>
</TabWidget>
我如何以编程方式编写它而不是上面的 xml 代码。
使用滑动检查选项卡示例。它具有没有 xml 文件的选项卡的实现。
但是每个片段都有 XML 布局。您可以根据需要删除它。
在 TabActivity 中:
private void addTab(String labelId, int drawableId, Class<?> c)
{
Intent intent=new Intent(this, c);
TabHost.TabSpec spec=Your_TabHost.newTabSpec("tab"+labelId);
View tabIndicator=LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);
TextView title=(TextView)tabIndicator.findViewById(R.id.title);
title.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12);
title.setText(labelId);
ImageView icon=(ImageView)tabIndicator.findViewById(R.id.icon);
icon.setImageResource(drawableId);
spec.setIndicator(tabIndicator);
spec.setContent(intent);
Your_TabHost.addTab(spec);
}
通过以下方式添加选项卡(仍在选项卡活动中):
addTab("Your tab title", R.drawable.your_tab_icon, SomeActivity.class);
但我仍然强烈建议您在低于 4.0 的 android 中使用 ActionBarSherlock,因为 Tab 已被弃用......