9

看来 TabActivity 现在已弃用,我们需要使用 Fragments。

我尝试使用标准 Activity,但无法调用 getTabHost。

所以看来我必须使用片段。但我有点困惑这将如何工作。

我知道片段不是活动,所以它们不在清单文件中?

所以我想我不能在片段上做 startActivity 吗?

有谁知道解释 tabHost 和 Fragments 的好例子,我发现的所有例子和教程都只使用 tabactivity。

提前致谢

4

5 回答 5

1

也许您可以改用 TabLayout。

现在最好通过在顶部使用带有自定义“选项卡指示器”的 ViewPager 来实现选项卡。Google 的新 TabLayout 包含在 Android“M”的支持设计库版本中。

访问使用 TabLayoutEdit PagePage History 在 Google Play Style Tabs 中使用 TabLayout 的完整教程

于 2016-06-22T06:57:20.217 回答
0

今天 Android 有一个很好的教程。从使用标签创建滑动视图开始

这是如何创建选项卡的小快照

@Override
public void onCreate(Bundle savedInstanceState) {
    final ActionBar actionBar = getActionBar();
    ...

    // Specify that tabs should be displayed in the action bar.
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Create a tab listener that is called when the user changes tabs.
    ActionBar.TabListener tabListener = new ActionBar.TabListener() {
        public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
            // show the given tab
        }

        public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
            // hide the given tab
        }

        public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
            // probably ignore this event
        }
    };

    // Add 3 tabs, specifying the tab's text and TabListener
    for (int i = 0; i < 3; i++) {
        actionBar.addTab(
                actionBar.newTab()
                        .setText("Tab " + (i + 1))
                        .setTabListener(tabListener));
    }
}
于 2016-01-17T11:32:32.723 回答
0

面对现实吧。碎片是未来。我们被引导使用它们。

我发现以下教程内容丰富,希望它们能回答您所有的“带有片段问题的标签”:

于 2016-06-22T06:44:58.450 回答
0

首先 - 您可以通过 context.startActivity(....); 从片段中启动活动

其次,要了解使用片段的选项卡,只需在您的 Android Studio 上创建一个示例项目,当它要求您选择现有模板时,然后选择具有选项卡的模板。这样您将看到标准代码。

于 2016-01-17T13:30:46.460 回答
0

我认为您使用选定实现的问题。Android SDK 包含很多 View 的变体,如 ActivityList、TabActivity、ActionBarActivity 等。它们都已弃用或将被弃用。你应该问为什么?

  • 在新材料中查看带有选项卡和列表的不同示例。应用程序包含主标题,如 ToolbarLayout,其中包含不同状态的 Toolbar,您可以添加 TabLayout 和其他很酷的东西。

所以回答你的问题 - 最好使用自定义和强大的视图元素,然后是主要操作视图(活动)的几个实现。当您查看元素的操作规范时,这个原因更加明显。活动不需要在视图初始化中发生。

于 2016-06-22T07:09:47.540 回答