android - 夏洛克 : android:textAllCaps requires API level 14 (current min is 8)

标签 android android-actionbar actionbarsherlock

你好,我正在使用 Sherlock 库在 Android 应用程序中实现 ActionBarTabs,但我看到它正在将 ActionBarTabs 的文本设置为所有大写,所以我这样做是为了将文本设置为常规文本。

<style name="My.TabText.Style" parent="@style/Widget.Sherlock.ActionBar.TabText">
    <item name="android:textAppearance">@android:style/TextAppearance.Medium</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textAllCaps">false</item>
    <!-- <item name="android:ellipsize">none</item> -->
    <item name="android:maxLines">1</item>
</style>

但我收到错误消息,指出 android:textAllCaps 需要 API 级别 14(当前最小值为 8)。我该如何解决这个问题,以便它适用于所有 Android 版本。

提前致谢。

最佳答案

您需要转到您的 ActionBarSherlock 库,即您在项目中实现的库 去上这门课。

com.actionbarsherlock.internal.widget.CapitalizingButton

在该类中,您需要更改此行。

mAllCaps = appearance.getBoolean(R_styleable_TextAppearance_textAllCaps, true);


if (SANS_ICE_CREAM && mAllCaps && text != null)

mAllCaps = false;

if (SANS_ICE_CREAM && text != null)

它正在做的是将 android:textAllCaps 的默认值更改为 false 这对类有点 hack

关于android - 夏洛克 : android:textAllCaps requires API level 14 (current min is 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24200343/

相关文章:

android - 如何在特定菜单项之间添加分隔符?

android - 为什么没有相机结果?

android - 隐藏操作栏的标题在旧版本的 Android 上不起作用(使用 ActionBarSherlock)

java - 在 Android 和纯 Java 中打印

android - FirebaseUser 的个人资料未更新

android - 应用程序启动时看到的是白屏和操作栏,而不是黑屏

android - 如何更改操作栏菜单项的顺序

android - 将 google-services.json 提交到 GitHub

java - 我的中断代码不会破坏我的代码

android - 无法运行 ActionBarSherlock