Sherlock:android:textAllCaps需要API级别14(当前最小值为8)

时间:2014-06-13 07:53:50

标签: 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 requires API level 14 (current min is 8)的错误消息。我如何解决这个问题,以便它适用于所有Android版本。

提前致谢。

2 个答案:

答案 0 :(得分:2)

您需要将您的工具项目作为库项目转到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它对类的攻击

答案 1 :(得分:1)

只需将样式添加到style-v14文件夹,将另一个样式添加到普通style文件夹中。