如何在不使用图像的 android 中创建自定义标签栏?我需要创建一个类似这样的标签栏...
问问题
1575 次
3 回答
2
于 2012-10-04T05:52:10.640 回答
1
您可以将视图关联到您的选项卡:
tabHost.newTabSpec("name").setIndicator(R.id.your_view)
于 2012-10-01T11:38:10.977 回答
0
您必须为每个选项卡按钮创建自定义视图,并为相机选项卡返回不同的视图。我认为是这样的:
private void fillTabHost() {
setupTab(ONE, new Intent().setClass(this, Activity.class), "title",R.drawable.icon);
setupTab(TWO, new Intent().setClass(this, Activity.class), "title", R.drawable.icon);
setupTab(THREE, new Intent().setClass(this, Activity.class), "title",R.drawable.icon);
setupTab(FOUR, new Intent().setClass(this, Activity.class), "title",R.drawable.icon);
setupTab(FIVE, new Intent().setClass(this, Activity.class), "title",R.drawable.icon);
}
private void setupTab(final String tag, Intent intent, int label, int icon) {
View tabview = createTabView(tag, mContext, label, icon);
TabSpec setContent = mTabHost.newTabSpec(tag).setIndicator(tabview).setContent(intent);
mTabHost.addTab(setContent);
}
private static View createTabView(String tag, final Context context, final int text, final int icon) {
if(tag.equals("THREE")){
// TODO return your CAMERA view
}else{
View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
ImageView iv = (ImageView) view.findViewById(R.id.tabsIcon);
iv.setBackgroundResource(icon);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
tv.setText(text);
}
return view;
}
我希望这可以帮助你!
于 2012-10-01T11:51:55.460 回答