如何在标签活动折旧后在android中使用标签?使用片段我有一个问题

时间:2013-11-20 15:02:52

标签: android tabs android-actionbar actionbarsherlock tabactivity

如何在标签活动折旧后在android中使用标签?通过使用sherlock和片段我可以做tabing但我想设置标签图像整体而不是标签图标... 我不需要黑色bg我的图像我希望我的图像在整个标签上。 这是我的代码

private FragmentTabHost mTabHost;
    mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
           // mTabHost.setup(this, getSupportFragmentManager(), R.id.tabFrameLayout);
            mTabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);

            mTabHost.addTab(
                    mTabHost.newTabSpec("tab1").setIndicator("",
                            getResources().getDrawable(R.drawable.tab8)),
                    FragmentTab.class, null);
            mTabHost.addTab(
                    mTabHost.newTabSpec("tab2").setIndicator("Tab 2",
                            getResources().getDrawable(R.drawable.tab9)),
                    FragmentTab.class, null);
            mTabHost.addTab(
                    mTabHost.newTabSpec("tab3").setIndicator("Tab 3",
                            getResources().getDrawable(android.R.drawable.star_on)),
                    FragmentTab.class, null);
            mTabHost.addTab(
                    mTabHost.newTabSpec("tab4").setIndicator("Tab 4",
                            getResources().getDrawable(android.R.drawable.star_on)),
                    FragmentTab.class, null);

Help Required :)

2 个答案:

答案 0 :(得分:1)

我是通过使用tabhost完成的,你可以使用tabhost而不使用tabactivity以下是代码。

final TabHost tabHost=(TabHost)findViewById(R.id.tabhost);
    tabHost.setup();

        final TabSpec spec1 = tabHost.newTabSpec("Tab1");
        View view = LayoutInflater.from(this).inflate(R.layout.tabbar8, tabHost.getTabWidget(), false);
        spec1.setIndicator(view);
        spec1.setContent(R.id.tab1);

其中tabbar8是我想在我的第一个标签上设置的布局

答案 1 :(得分:0)

您可以使用ActionBar.Tab上的setCustomView()完全自定义ActionBar选项卡。您将为选项卡定义XML布局,然后设置类似于:

// Home tab
ActionBar.Tab tabHome = mActionBar.newTab();
tabHome.setText("Home");        
LinearLayout layoutLinear = (LinearLayout)inflater.inflate(R.layout.layout_tab_standard, null);
TextView title = (TextView)layoutLinear.findViewById(R.id.title);
title.setText(strTabTitle);
tabHome.setCustomView(layoutLinear);
mActionBar.addTab(tabHome);

因此您可以在您定义的线性布局上放置ImageView或设置背景可绘制(在此示例中为R.layout.layout_tab_standard)。

您还应该查看操作栏样式生成器(http://jgilfelt.github.io/android-actionbarstylegenerator/),您可能会觉得这很有用。