Alv*_*nte 10 android landscape portrait actionbarsherlock android-actionbar
我最近几天一直在使用ActionBar和ActionBarSherlock,在ActionBar中填写一些信息时遇到了一些问题.
当应用程序以纵向模式运行时,ActionBar看起来很好,并且可以显示所有数据,例如:

但当我将应用程序切换为横向显示时,会裁剪一些数据:

您可以注意到由于ActionBar的新高度,状态图标和电子邮件的裁剪方式.
在这种情况下,我想保持相同的纵向和横向大小,以便应用程序看起来很好.我无法减小操作栏标题的字体大小,因为它可能包含其他图标.
我将这些图标放在操作栏标题和副标题中的方式是使用Html.fromHtml
有什么想法可以解决这个问题?我正在使用ActionBarSherlock库!
MH.*_*MH. 23
一个,可能不太漂亮的方法,可能是覆盖ActionBar的默认高度值dimens.xml.
例如,肖像中的默认值为:
<dimen name="abs__action_bar_default_height">48dip</dimen>
Run Code Online (Sandbox Code Playgroud)
在景观中:
<dimen name="abs__action_bar_default_height">40dip</dimen>
Run Code Online (Sandbox Code Playgroud)
可能有一种更清洁的方法,但我不得不承认我对ActionBarSherlock内部的了解太少了.
编辑:想想看,当在ICS上使用本机ActionBar时,这可能不起作用,因为高度将解析为平台值?android:attr/actionBarSize.我建议你等一个更好的建议,例如来自杰克本人.
第二次编辑: 在Jake的回复之后,似乎只需要在ICS和pre-ICS设备上使用ActionBarSherlock就可以将以下内容添加到应用程序的主题中:
<item name="actionBarSize">@dimen/some_value</item>
<item name="android:actionBarSize">@dimen/some_value</item>
Run Code Online (Sandbox Code Playgroud)
然后,您可以在相关的纵向/陆地资源存储桶中添加实际值.
第三次编辑 [感谢alvarolb ]:样式的XML示例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarSize">48dip</item>
<item name="android:actionBarSize">48dip</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
并在相应的活动中,设置这种新风格
android:theme="@style/Theme.Styled"
Run Code Online (Sandbox Code Playgroud)
并且..它的作品!
| 归档时间: |
|
| 查看次数: |
5755 次 |
| 最近记录: |