如何在操作栏下方显示选项卡

时间:2013-11-18 12:21:27

标签: android tabs android-actionbar

我在操作栏中放置了标签,它运行正常。但是当我旋转设备时它会出现在操作栏上。是否有任何方法可以始终在操作栏下方显示该选项卡,如enter image description here

1 个答案:

答案 0 :(得分:2)

使用以下强制显示堆叠标签的功能

private void forceStackedTabs(ActionBar ab)
    {
        try
        {
            if (ab instanceof ActionBarImpl)
            {
                // Pre-ICS
                disableEmbeddedTabs(ab);
            }
            else if (ab instanceof ActionBarWrapper)
            {
                // ICS
                try
                {
                    Field abField = ab.getClass().getDeclaredField("mActionBar");
                    abField.setAccessible(true);
                    disableEmbeddedTabs(abField.get(ab));
                }

                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

private void disableEmbeddedTabs(Object ab)
    {
        try
        {
            Method setHasEmbeddedTabsMethod = ab.getClass().getDeclaredMethod("setHasEmbeddedTabs", boolean.class);
            setHasEmbeddedTabsMethod.setAccessible(true);
            setHasEmbeddedTabsMethod.invoke(ab, false);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
相关问题