2013-05-05 5 views
1

Я использую библиотеку HoloEverywhere в своем приложении и для применения шрифта из темы Я добавил новый пользовательский атрибут ttfName в стиль TextView и внесли некоторые необходимые изменения в конструктор org.holoeverywhere.widget .TextView следующим образом;пользовательский атрибут не работает в HoloEverywhere

if (a.hasValue(R.styleable.TextView_ttfName)) { 
    setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/" + 
    a.getString(R.styleable.TextView_ttfName))); 
} 

также, заявленный стиль и темы следующие:

<style name="AppTheme" parent="@style/Holo.Theme.Light.DarkActionBar">     
    <item name="android:textViewStyle">@style/Widget.ApplicationTheme.TextView</item 
</style> 

<style name="Widget.ApplicationTheme.TextView" parent="@style/Holo.TextView"> 
    <item name="ttfName">@string/app_font_roboto_light</item> 
    <item name="android:textSize">@dimen/app_dimen_default_text_size</item> 
</style> 

и добавленный ttfName атрибут следующим образом;

... 
<attr name="ttfName" format="string" /> 
... 
... 
<declare-styleable name="TextView"> 
    <attr name="android:text" /> 
    <attr name="android:textAllCaps" /> 
    <attr name="textAllCaps" /> 
    <attr name="ttfName" /> 
</declare-styleable> 
... 

теперь, когда я применяю AppTheme моего приложения шрифт становится применяются только если андроид версия> 4,0 (не проверена на 3.0). , но на версии для Android 2.3 шрифт не применяется.

Может ли кто-нибудь помочь мне разобраться, что здесь не так?

Заранее спасибо.

ответ

1

это шрифт, который не будет работать для Holoeverywhere на preHC андроидах, FontLoader на preHC загружает шрифт roboto во всех текстовых изображениях.

Для применения шрифта см. Класс org.holoeverywhere.FontLoader и FontLoader#apply(View) метод.