找出ActionBar是否堆叠

时间:2012-01-29 10:14:58

标签: android android-actionbar android-ui

如果您向ActionBar添加标签,则在纵向模式下,这些标签会在手机上额外堆叠ActionBar。有没有一种简单的方法可以确定是否发生了这种情况?

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

Youtube App (landscape) Youtube App (portrait)

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

此行为称为拆分操作栏。当AndroidManifestuiOptions="splitActionBarWhenNarrow"<activity>元素中设置<application>时会发生这种情况。

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

Mock-ups of split action bar with navigation tabs on the left; with the app icon and title disabled on the right.

您可以获得更多详情here

答案 2 :(得分:-2)

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

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