找出ActionBar是否堆叠

如果您将标签添加到您的ActionBar ,他们将在纵向模式下在手机上额外堆叠的ActionBar 。 有没有简单的方法来查明这是否发生?

我附上了YouTube应用的两个截图。 第一个显示正常的ActionBar的标签,第二个显示堆叠的ActionBar中的标签。

Youtube应用程序(横向)Youtube应用程序(肖像)

Solutions Collecting From Web of "找出ActionBar是否堆叠"

可以通过is的高度来查看是否有一行或两行的行动栏。 有方法getHeight() ,但它不会在onCreateonStart ,它只会在活动已经开始时才会返回实际值。

在动作栏的横向方向的高度是40dip (80/60/40/30像素在不同的屏幕上),纵向方向上的标签为96dp(192/144/96/72像素)。

依靠这不是最好的想法,但我找不到任何其他方式来查找标签是否在行动栏内。

这种行为被称为拆分操作栏 。 当AndroidManifest<activity><application>元素中使用uiOptions="splitActionBarWhenNarrow"进行设置时,会发生这种情况。

Android根据当前屏幕大小以各种方式调整操作栏的外观。 使用分割操作栏只是一个选项,您可以启用该button以使操作栏进一步优化不同屏幕尺寸的用户体验。 这样做,你也可以允许操作栏将导航标签折叠到主操作栏中。 也就是说,如果您在操作栏中使用导航选项卡,则一旦操作项在窄屏幕上分离,导航选项卡可能会适合主操作栏而不是分隔为“堆叠操作栏”。

左侧有导航标签的分体动作栏的实物模型;应用程序图标和标题在右侧被禁用。

你可以在这里获得更多的细节。

以及我已经创build了一个类似于Instagram的ActionBar与底部的ActionBar,而不需要使用Tabs。 看看这个图像。 10分钟前,我回答了另一个问题的相关问题。 CustomView ActionBar和Fake Bottom ActionBar 为了让你做到这一点,你必须创build三个独立的布局。 一个底部使用它作为Include和一个用于ActionBar使用它作为ActionBar视图。

如果你检查我最新的答案,你会发现我是如何做到这一点。 希望无论如何都能让你受益匪浅。 干杯