如何创建具有自定义视图和选项卡的Android ActionBar

如何创建具有自定义视图和选项卡的Android ActionBar,android,android-layout,Android,Android Layout,我想创建带有自定义视图(显示\显示\自定义)的选项卡式操作栏(导航\模式\选项卡)。应该是这样的: 我只需要能够通过最上面一行的按钮浏览活动,就像我在正常的非选项卡模式下使用ActionBar一样,并且能够切换第二行的选项卡。如果我将ActionBar设置为选项卡模式,自定义视图将消失,似乎选项卡模式和自定义视图是互斥的。。。有可能吗 在没有ActionBar的情况下,有更多可能的方法可以做到这一点。通常我会创建一个带有按钮的布局,将其包含在TabActivity中(现在不推荐使用),仅此而已

我想创建带有自定义视图(显示\显示\自定义)的选项卡式操作栏(导航\模式\选项卡)。应该是这样的:

我只需要能够通过最上面一行的按钮浏览活动,就像我在正常的非选项卡模式下使用ActionBar一样,并且能够切换第二行的选项卡。如果我将ActionBar设置为选项卡模式,自定义视图将消失,似乎选项卡模式和自定义视图是互斥的。。。有可能吗

在没有ActionBar的情况下,有更多可能的方法可以做到这一点。通常我会创建一个带有按钮的布局,将其包含在TabActivity中(现在不推荐使用),仅此而已。但我不认为这是最好的解决方案,所以任何帮助或建议都是非常感谢的

提前谢谢

编辑:经过一点研究,我发现它是有效的,只是没有显示在我的4英寸屏幕上。然而,它仍然没有像我预期的那样工作。在更宽的屏幕上,选项卡的右侧会显示自定义视图-可以,但在4英寸的手机屏幕上根本不显示


我认为最好的解决方案是使用ActionBar Sherlock库(我不喜欢使用不推荐的功能,我的应用程序也必须在sdk11之前版本的设备上运行)和片段-一个用于顶部ActionBar,另一个用于选项卡式视图。

必须将顶部行中的按钮添加为选项菜单项:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    for (int i = 0; i < menuItems; i++)
    {
        if (i == 0)
        {
            menu.add(R.string.home).setIcon(R.drawable.button_home).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
            menu.getItem(0).setOnMenuItemClickListener(this);

        }
    }

    return super.onCreateOptionsMenu(menu);
}
@覆盖
公共布尔onCreateOptions菜单(菜单)
{
对于(int i=0;i
ActionBar的理念与我提问时的想法略有不同。从


当您希望在活动中提供导航选项卡时,使用操作栏的选项卡是一个很好的选择(而不是使用TabWidget),因为系统会根据不同的屏幕大小调整操作栏选项卡,当屏幕足够宽时,将其放置在主操作栏中,或放置在单独的栏中(称为“堆叠操作栏”)当屏幕太窄时。

您可以重新考虑使用操作栏和选项卡。你的屏幕有限,太多的导航控件只会让你的应用程序变得杂乱无章。据我所见,在3.5英寸甚至4英寸的手机上,这将占据几乎1/3甚至更多的屏幕。只是一个想法:),做好研究,这是最好的学习方式。不幸的是,没有什么需要重新考虑的,这是我的客户的要求。。。但是,最后,我找到了一个我以前忽略的优雅而简单的解决方案。最上面一行的按钮可以作为选项菜单项添加,只需几行即可完成布局。问题可以解决了。。。