Oll*_*e C 17 android actionbarsherlock android-actionbar
我正在使用ActionBarSherlock并在其中有一个带有导航标签的ActionBar.我希望选项卡根据其中文本的大小自动调整大小,但似乎某个样式或设置强制它们使用最小大小.因此,例如在屏幕截图中,"Very Long Tab"选项卡没有填充(根据我应用的样式)但标记为"T"的选项卡有很多填充,尽管我将填充设置为0dp.

正如你在下面看到的,我通过在几种样式上设置各种属性尝试了一种蛮力的方法,但我还没有成功.
如何控制操作栏选项卡中的填充/宽度?
<style
name="CustomActivity"
parent="@style/Theme.Sherlock"
>
<item name="actionBarTabStyle">@style/customActionBarTabStyle</item>
<item name="actionBarTabBarStyle">@style/customActionBarTabBarStyle</item>
<item name="actionBarTabTextStyle">@style/customActionBarTabTextStyle</item>
</style>
<style name="customActionBarTabStyle" parent="style/Widget.Sherlock.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:minWidth">0dp</item>
</style>
<style name="customActionBarTabBarStyle" parent="style/Widget.Sherlock.ActionBar.TabBar">
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:minWidth">0dp</item>
</style>
<style name="customActionBarTabTextStyle" parent="style/Widget.Sherlock.ActionBar.TabText">
<item name="android:paddingLeft">0dp</item>
<item name="android:paddingRight">0dp</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:minWidth">0dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
Jak*_*ton 11
从那个屏幕截图看起来你正在测试ICS这是好的,因为你将观察本机操作栏的行为,而不是认为它是ActionBarSherlock的错误.
基本上,如果有足够的空间,操作栏将尝试扩展标签以占用相等的空间,以便在只有几个标签时提供更清晰的外观.
通过将actionBarTabTextStyle填充设置为零,您实际上会使问题变得更糟,因为现在第一个选项卡中的文本没有任何内容可以防止它接触屏幕的分隔线和边缘.如果增加填充(或将其恢复为默认值),您应该看到以下两种情况之一:
我倾向于认为前者会因第二到第四个标签的宽度非常薄而发生.不幸的是,这只是标签栏的行为方式,我们需要相应地尝试适应其行为.
如果可能,尝试创建具有更统一宽度的选项卡标签,这可能会触发上述第二个状态.继续使用ICS进行测试,以便确保您所看到的行为来自平台,然后在预ICS上运行时,您应该从库中获得相同的行为.
| 归档时间: |
|
| 查看次数: |
18005 次 |
| 最近记录: |