找出ActionBar是否堆叠

如果您向ActionBar添加选项卡,它们将在纵向模式下的手机上处于额外的堆叠ActionBar中。 有没有一种简单的方法可以确定是否发生了这种情况?

我附上了YouTube应用的两个屏幕截图。 第一个显示正常的ActionBar其中包含选项卡,第二个显示堆叠的ActionBar中的选项卡。

Youtube App(风景)Youtube App(肖像)

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

可以通过is的高度找出动作栏中是否有一条或两条线。 有方法getHeight() ,但它不能在onCreateonStart ,它只会在活动已经开始时返回实际值。

在横向方向上,动作条的高度为40dip (不同屏幕上为40dip px),纵向为标签,为96dp(192/144/96/72 px)。

依靠这个并不是最好的主意,但我找不到任何其他方法来确定标签是否在操作栏内。

此行为称为拆分操作栏 。 当在元素中使用uiOptions="splitActionBarWhenNarrow"设置AndroidManifest时会发生这种情况。

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

左侧有导航标签的分割操作栏的模拟;在右侧禁用应用程序图标和标题。

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

好吧,我已经创建了一个类似于Instagram的actionBar,底部有ActionBar而不需要使用Tabs。 看看这张图片。 我在10分钟前就另一个问题回答了这个相关的问题。 CustomView ActionBar和Fake Bottom ActionBar 为了让您这样做,您必须创建三个单独的布局。 一个用于底部将其用作Include ,一个用于ActionBar将其用作ActionBar视图。

如果你查看我的最新答案,你会发现我是如何做到的。 希望无论如何都能使你受益。 干杯