实施类似Android市场的标签栏(应用/游戏/下载)的最佳方式是什么?
如果我可以使用TabHost会很棒,但我相信它不允许这种级别的自定义。
答案 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市场)
在这个子布局下面,放置标签主机和框架布局。
那么你可以完成这个任务。