【问题标题】:possible to change text size/color for ActionBar?可以更改 ActionBar 的文本大小/颜色吗?
【发布时间】:2013-04-24 10:41:48
【问题描述】:

有没有办法改变 ActionBar 的标题和副标题的大小/颜色?

我正在使用 ActionBarSherlock 来桥接低版本和高版本。 ActionBarSherlock 提供了在 SherlockActionBarCompat 中自定义文本样式的方法,但在 SherlockActionBarNative 中似乎没有办法。

编辑: 由 Jake 添加并由作者删除

编辑: 接近解决方案:

<style name="resizeableTitleStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse">
    <item name="android:textSize">@dimen/action_bar_title_text_size</item>
</style>

<style name="Theme.ResizeableActionBar" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/resizeableActionBarStyle</item>
    <item name="android:actionBarStyle">@style/resizeableActionBarStyle</item>
    <item name="actionBarSize">60dp</item>
    <item name="android:actionBarSize">60dp</item>
</style>

<style name="resizeableActionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="titleTextStyle">@style/resizeableTitleStyle</item>
    <item name="android:titleTextStyle">@style/resizeableTitleStyle</item>
</style>

感谢 ABS 的作者 Jake 的帮助。

现在它几乎完成了,除了 actionBarSize 只能从相当多的试验中估计出一个近似的绝对尺寸(我的应用程序为 60dp); wrap_content 导致 API2.2 扩展整个屏幕并在解析 xml 时抛出 API4.2.2 异常。

加法
当actionBarSize设置为0dp时,输出为(http://i.stack.imgur.com/xX4E1.png,信誉低,直接发图):左边API2.2,动作条占满全屏,没有内容,右边API4.2.2,有内容没有操作栏。

当设置为 wrap_content 时,API2.2 的输出相同,并且抛出的异常为:Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x10

【问题讨论】:

  • titleTextStyle 属性采用您从 actionBarStyle 引用的样式。

标签: android text size actionbarsherlock


【解决方案1】:

是的,这是可能的。您可以通过这种方式通过样式来做到这一点:

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">@color/green_text_color</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">@dimen/actionbar_textsize</item>
</style>

并将其用于:

 <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
 <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>

【讨论】:

  • 我在另一个帖子中回复了,因为它超出了评论的字符限制。请帮忙
  • @Blackbelt:你好,你能解释一下为什么我们需要 "titleTextStyle" 和 "android:titleTextStyle" 吗?谢谢。
  • 答案已经很老了。尽管如此,没有 android 的那个是/曾经是 actionbarsherlock/actionbarcompat。带有 android 的那个是用于本机操作栏 @namanhams
  • 是的!!!!!!!!!!!!!!!!!!!!!!!!好坏话坏话坏话。从昨晚到现在,我一直在修补这种废话,从没想过我必须在应用程序主题样式中正确定义 android 文本大小。好家伙! Android api是最糟糕的。我的意思是它使 Windows 编程看起来像 abc。至少你可以上 MSDN 上一小时顶,了解如何使用一个功能。使用 android,您必须花一整天时间搜索 android 参考资料,这并没有完全解释清楚,然后是教程、堆栈溢出和来回,就像调查记者一样,直到您的运气成真。
  • 我的另一个问题是文本视图自动调整大小。每个人都在谈论 autoSizeTextType 自动最小尺寸和自动最大尺寸。但是对于为什么它根本不适合我没有很好的答案。甚至文本视图重力填充都不起作用。我猜它与应用程序主题属性有关,但这只是一个假设。我请求帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多