4

如何在不使用图像的 android 中创建自定义标签栏?我需要创建一个类似这样的标签栏...

在此处输入图像描述

4

3 回答 3

2

我在stackoverflow本身找到了我的问题的答案

请参阅 Hardik Gajjar 在以下问题中所做的回答:

如何在android中创建中心凸起的标签栏?

于 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 回答