2013-05-05 54 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我的應用程序的字體是越來越應用只有Android版本> 4.0(還沒有簽上3.0)。 但在Android 2.3版的字體沒有得到應用..

有沒有人請幫我找出這裏出了什麼問題?

在此先感謝。

回答

1

它是不適用於preHC androids上的Holoeverywhere的字體,preHC中的FontLoader加載所有文本視圖中的roboto字體。

對於應用字體看看類org.holoeverywhere.FontLoaderFontLoader#apply(View)方法。

相關問題