2014-06-13 39 views
1

你好我正在使用Sherlock库来实现Android应用中的ActionBarTabs,但我看到它将ActionBarTabs的文本设置为全部大写,所以我正在执行此操作所以将文本设置为常规。Sherlock:android:textAllCaps需要API等级14(当前最小为8)

<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版本。

在此先感谢。

回答

1

只是样式添加到style-v14文件夹和另一个在正常的style文件夹中没有这个值。

+0

“另一个没有这个价值的正常风格文件夹” - 但这里又一次,它会使我的文本资本,然后我怎么能使这样文本将不会被限制在所有android版本中 –

+1

它不会成为大写字母,因为在以前的API中没有用于框架调用的setAllCaps()方法。 – Budius

+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它有点劈到类

+0

我也一样,你建议,但仍然是所有的文字都是大写,如果条款 –

+0

@Williams尽量不要改变。把后面的mAllCaps在那里 –

+0

是的,我试过,也是同样的问题 –

相关问题