2013-05-05 7 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 속성은 다음과 같다. 내 응용 프로그램에 AppTheme를 적용 할 때

... 
<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> 
... 

이제 글꼴은 안드로이드 버전> 4.0 (3.0 확인되지 않은) 경우에만 적용 받고있다. 하지만 안드로이드 버전 2.3에서 글꼴이 적용되지 않습니다. ..

아무도 나에게 무슨 문제가 있는지 알 수 있습니까?

미리 감사드립니다.

답변

1

preHC androids의 Holoeverywhere에서는 작동하지 않는 서체입니다. preHC의 FontLoader는 모든 textviews에서 roboto 글꼴을로드합니다.

글꼴을 적용하려면 클래스 org.holoeverywhere.FontLoaderFontLoader#apply(View) 메서드를 살펴보십시오.

관련 문제