操作栏选项卡不填满屏幕宽度

Posted

技术标签:

【中文标题】操作栏选项卡不填满屏幕宽度【英文标题】:Action Bar Tabs do not fill screen width 【发布时间】:2013-05-01 05:37:41 【问题描述】:

我有一个操作栏,下面有两个选项卡。它在大多数智能手机中看起来都不错,但在平板电脑或 nexus 4 中,标签不会拉伸以占据整个屏幕宽度。

这是一张截图(在 Nexus 4 上拍摄):

可以看出,选项卡的每一侧都有两个黑条。我正在使用动作栏夏洛克。有没有办法让标签占据全宽?我可以覆盖某种 ABS 属性?

【问题讨论】:

任何解决方案???我在 10 英寸标签中遇到了同样的问题 有什么解决办法吗?我也使用两个标签。但还是找不到解决办法 为什么你还在使用 ABS.. 几乎手机最低升级到 ICS 【参考方案1】:

我建议您使用 android 滑动选项卡,它是来自 Google 的代码片段,用于执行与您显示的相同的操作。自 5.0 API 以来,Action Tab 已被弃用,因此这是解决此问题的一个很好的方法。

也许一些actually link 会有所帮助。 还有这个in action (Youtube)

【讨论】:

【参考方案2】:

我建议的第一件事是将宽度设置为 fill_parent。好吧,我认为这很明显。现在创建一个名为layout-sw600dp 的新资源文件夹,然后重新制作平板电脑的所有布局。大多数是 7 英寸。Android 将自动使用此文件夹中的布局,因为屏幕支持可能是您的主要问题。您也可以尝试阅读此link 以获取更多信息。希望对您有所帮助。:)

【讨论】:

我认为智能手机(即 nexus 4)不会受到 sw600dp 资源的影响。我真的不需要支持平板电脑。这可能会有所帮助:link【参考方案3】:

如果目标 SDK 14 或更高版本,ABS 将使用本机 ActionBar。 这是 JB 及更高版本的问题(不是错误,而是功能): https://android.googlesource.com/platform/frameworks/base/+/b8139af3dcae80c0030afd0354dc424a7c72c3d9 可能的解决方法:设置目标 SDK 15 或更低版本。

【讨论】:

【参考方案4】:

使用这个布局,可能可行:

res/layout-sw600dp/   # For 7” tablets (600dp wide and bigger)

res/layout-sw720dp/ # For 10” tablets (720dp wide and bigger)

res/layout-sw600dp-port/   # For 7” tablets in portrait (600dp wide or                  bigger)

res/layout-sw720dp-port/  # For 10” tablets in portrait (720dp wide or bigger)

【讨论】:

【参考方案5】:

尝试使用它。 页面滑动标签条。它是一个自定义库。

http://www.androidviews.net/2013/04/pager-sliding-tabstrip/

Github:https://github.com/astuetz/PagerSlidingTabStrip

【讨论】:

以上是关于操作栏选项卡不填满屏幕宽度的主要内容,如果未能解决你的问题,请参考以下文章

横向中的Android actionBar选项卡不占据全宽

位置:'底部' - 选项卡不允许滑动

使用 PushViewController 时选项卡不显示

堆叠的 ActionBar 选项卡栏未填充父级

Github桌面窗口同步按钮消失,历史记录选项卡不起作用

片段处理屏幕方向与操作栏中的选项卡