在Android中使用标签

时间:2011-07-04 01:00:08

标签: android tabs

我制作了一个运行良好的密码生成器应用程序,但我想更新它以便它可以保存密码。我希望有一个选项卡,用户可以看到生成的密码,并可以选择保存其中一个密码,另一个选项卡包含已保存的密码。我查看了developer.android.com教程,但我不喜欢你必须为每个标签创建一个单独的活动。我使用了制表符来创建使用XAML和C#的WPF应用程序,我只需要在XAML代码中使用TabControl和TabItem。是否可以做类似的事情?

1 个答案:

答案 0 :(得分:1)

您不必为每个标签创建单独的活动。但是,您必须为每个标签设置一个布局。您需要TabHostTabWidgetFrameLayoutTabWidgetFrameLayout必须是TabHost的子级,并且还必须为其分配特定的ID。 TabWidget必须具有android.R.id.tabs的ID。 FrameLayout必须具有android.R.id.tabcontent的ID。您希望显示的任何ViewLayoutTabHost的任何部分)都必须添加到FrameLayout。然后,您需要创建一个将所有内容链接在一起的TabSpec。它看起来像这样(进步)..

TabHost host = new TabHost(context);
TabWidget widget = new TabWidget(context);
widget.setID(android.R.id.tabs);
FrameLayout frame = new FrameLayout(context);
frame.setID(android.R.id.tabcontent);
frame.addView(viewForTab1);
frame.addView(viewForTab2);
host.addView(widget);
host.addView(frame);
host.setup();  //must be called when defining a tabhost outside of a tabactivity, iirc..
TabSpec spec;
do {
    spec = host.newTabSpec(uniqueStringReference);
    spec.setContent(viewOrLayoutForTheTab);
    spec.otherStuffYouMightWant();
    host.addTab(spec);
} while (you have tabs to add);