2012-04-30 5 views
4

저는 매우 큰 응용 프로그램을 개발했으며 이제는 응용 프로그램의 모든 컨트롤에 사용자 지정 글꼴을 사용해야한다는 요구 사항이 있습니다. 한 번에 글꼴을 변경하는 더 좋은 방법을 알고 싶습니다. 응용 프로그램에는 100 개가 넘는 XML 레이아웃이 있습니다. 모든 컨트롤을 사용자 지정 글꼴로 사용자 지정 구성 요소로 변경할 수 없습니다. XML의 모든 컨트롤을 변경하지 않고 글꼴을 변경하는 솔루션을 제공하십시오.android : 전체 응용 프로그램에 사용자 정의 글꼴을 설정하는 방법

+0

를 찾고있는 솔루션으로 당신을 이끌 수 있도록 같은 의 서브 클래스입니다. –

답변

11
이제 TextViews

<com.prac.MyFontedTextView ....  instead of <TextView 

당신이 모든 것을해야 할이 변경에서 XML 파일의 모든 이상이 교체이

pacage com.prac; 
class MyFontedTextView extends TextView { 
    public FontedTextView(Context context) { 
     super(context); 
     init(); 
    } 

    public FontedTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public FontedTextView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    private void init() { 
    String otfName = "MyCustomOtfFileWhichIPutInAssetsFolder.otf"; 
    Typeface font = Typeface.createFromAsset(context.getAssets(), otfName); 
    this.setTypeface(font); 
    } 
} 

같은

어떻게 좀 그것은

도 적용 할 수 버튼 텍스트의 경우. 버튼은 텍스트 뷰 버튼이 너무

희망이 도움을 사용할 수 있습니다 또는 내가 특정 사건에 대한 확신하지만, 스타일이 도움이 될 수있을 수 있습니다 당신이

+1

이 방법을 사용하면 다음 번에 글꼴을 변경하려는 경우에 유용합니다. 당신은 단지 한 곳에서해야만합니다. – Javanator

+0

그리고 Ahmed Said와 같습니다. 유용한 것으로 표시하는 것을 잊지 마세요 :) – Javanator

+0

이 기술을 알고 있지만 그 안에 1000 개의 컨트롤이 포함 된 100 개의 XML 페이지가 있습니다. 모든 컨트롤을 변경해야합니다. 그렇지 않으면 대체 방법이 있습니다. – Santosh

관련 문제