TextView 설정에 따른 폰트 크기 지정법

요즘 보면 카카오스토리나 트위터 관련 앱들을 보면 접근성을 높이기 위해 폰트크기를 지정하도록 하는 설정이 있다. 과연 어떻게 설정에 따라 TextView의 크기가 자동으로 설정 되게 할수 있을까라고 생각 하다가 직접 부산버스앱에 구현한것을 공유 해봅니다.


 

public class SizeableTextView extends TextView {

public SizeableTextView(Context context, AttributeSet attrs) {
    super(context, attrs);

    for(int i = 0 ; i < attrs.getAttributeCount() ; i++){
        String attributeName = attrs.getAttributeName(i);

        if(attributeName.equals("textSize")){
            int size = Integer.parseInt(attrs.getAttributeValue(i).replace(".0sp", ""));
            super.setTextSize(TypedValue.COMPLEX_UNIT_SP, size + App.FONT_SIZE);
        }
    }

}

}


 


방법은 아주 심플 하다. TextView를 확장 해서 xml에서 TextView를 파싱 할때 사이즈에 더크거나 작게할 사이즈를 주는 것이다.


 

“TextView 설정에 따른 폰트 크기 지정법”에 대한 1개의 생각

  1. 하나 여쭤보면요 저기서 App.FONT_SIZE 의 App이 App전반을 나타내는 것 같은데
    한번 실습해보고자 했더니 App부분 변수가 없다는 오류가 발생하네요… 어떤식으로 해결해야 하나요?

댓글 남기기