0

您好,我正在寻找一个使用片段创建自定义标签栏(在底部)的好例子。

早些时候我使用活动组编写了这个,但从 android 3.* 开始,它已被弃用,我需要使用片段来执行此操作。

这是我编写的创建自定义标签栏的代码:

private void setTabs()
{

    //Implementing strings
    String publication = String.format("First");
    String shop = String.format("Second");

    //Adding tabs to TabActivity
    //addTab(publication, R.drawable.ic_launcher, DisplayTestActivity.class);
   //addTab(shop, R.drawable.ic_launcher, DisplayPushedTestActivity.class);



}


@Override
public void onTabChanged(String tabId) {
    // TODO Auto-generated method stub

}

/**
 * 
 * @param labelId, tab name
 * @param drawableId, tab icon image
 * @param c, responsible class
 */
/*
private void addTab(String labelId, int drawableId, Class<?> c)
{
    TabHost tabHost = getTabHost();  // The activity TabHost

    Intent intent = new Intent(this, c);

    TabHost.TabSpec spec = tabHost.newTabSpec("tab" + labelId); 


    View tabIndicator = LayoutInflater.from(this).inflate(R.layout.tab_indicator, getTabWidget(), false);

    System.out.println(tabIndicator);

    TextView title = (TextView) tabIndicator.findViewById(R.id.tab_bar_title);

    System.out.println(labelId);
    System.out.println(title);
    title.setText(labelId);
    ImageView icon = (ImageView) tabIndicator.findViewById(R.id.tab_bar_icon);
    icon.setImageResource(drawableId);

    spec.setIndicator(tabIndicator);
    spec.setContent(intent);
    tabHost.addTab(spec);
}

也许有人可以分享一些关于这个的信息。

谢谢。

4

2 回答 2

4

开发者网站上有很多关于如何做到这一点的示例。请参阅FragmentTabs.java以及API 4+ 支持演示页面。

如果您需要一步一步,这也是一个很好的教程。

于 2012-04-04T06:03:38.207 回答
0

我会尝试将Actionbarsherlock集成到您的项目中。它使您能够在低至 Android 2.x 的所有版本中使用 Honeycomb 和 Ice Cream Sandwich 的新 TabApi。它使添加标签变得非常容易,并且您的应用程序将遵循 Android 设计指南,并且看起来真的像一个 Android 应用程序。

于 2012-04-04T06:14:39.207 回答