Android Market-like tabbar

时间:2010-07-15 12:59:13

标签: android tabbar android-tabhost

实施类似Android市场的标签栏(应用/游戏/下载)的最佳方式是什么?

alt text

如果我可以使用TabHost会很棒,但我相信它不允许这种级别的自定义。

4 个答案:

答案 0 :(得分:2)

正如Cristian所说,使用TabHost肯定是可能的,你甚至不需要使用他链接到的androidtabs代码。从SDK级别4(即Android 1.6)开始,您可以将View传递给TabHost.TabSpec.setIndicator(),这样您就可以完全控制选项卡的外观。

但是,点击市场中的任何一个按钮都会打开一个新的活动,因此,使用简单的Button可能会比TabHost更能反映出这种行为。

如果您还需要支持1.5,可以从this post查看zip存档。它包含来自Android 1.6的TabHost等。即使在Android 1.5上,将其复制到您的项目也应该有效。然后,您可以使用setIndicator(View v)。

答案 1 :(得分:1)

可以使用TabHost。更好的是,您可以在这里找到一个完整功能的示例:http://code.google.com/p/androidtabs/

答案 2 :(得分:0)

试试这段代码:

TabHost.TabSpec spec;  // Reusable TabSpec for each tab
TextView txtTabInfo; // Reusable tab indicator

// Create our tab indicator
txtTabInfo = new TextView(this);
txtTabInfo.setText("videos");
txtTabInfo.setTextSize(16);
txtTabInfo.setTypeface(Typeface.DEFAULT_BOLD);
txtTabInfo.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
txtTabInfo.setBackgroundResource(R.drawable.minitab);
txtTabInfo.setMinHeight(55);

spec = tabHostMM.newTabSpec("video");
spec.setContent(R.id.mm_video);
spec.setIndicator(txtTabInfo);
tabHostMM.addTab(spec);

答案 3 :(得分:0)

您可以通过更改tab.xml文件来完成此任务。 在tab.xml线性布局中,首先使用一个子布局,其中包含图像和标签(android市场) 在这个子布局下面,放置标签主机和框架布局。 那么你可以完成这个任务。