0

实现类似 Android Market 的标签栏(应用程序/游戏/下载)的最佳方式是什么?

替代文字

如果我可以使用 TabHost,那就太好了,但我相信它不允许这种级别的自定义。

4

4 回答 4

2

正如克里斯蒂安所说,绝对可以使用 a TabHost,您甚至不需要使用他链接到的 androidtabs 代码。从 SDK 级别 4(即 Android 1.6)开始,您可以将 a 传递ViewTabHost.TabSpec.setIndicator(),这将允许您完全控制选项卡的外观。

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

如果您还需要支持 1.5,您可以从这篇文章中查看 zip 存档。它包含来自 Android 1.6 的 TabHost 等。将其复制到您的项目中应该可以工作,即使在 Android 1.5 上也是如此。然后您就可以使用 setIndicator(View v) 了。

于 2010-07-15T13:41:02.757 回答
1

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

于 2010-07-15T13:17:22.027 回答
0

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

于 2011-11-22T12:10:33.567 回答
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);
于 2011-02-20T23:18:32.180 回答