Android

setTextSize()

worri-pi 2021. 7. 7. 20:42

 

 

init() 메서드에서 setTextSize() 메서드를 이용하면 글자 크기를 설정할 수 있다.

하지만 픽셀 단위 설정만 할 수 있다.

글자 크기는 화면 크기별로 다르게 표현되는 sp 단위를 사용하는 것을 권장한다.

그런데 sp 단위 설정으로 글자 크기를 조절하려면 소스 코드가 아니라XML 파일을 사용해야한다.

 

 

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <dimen name="text_size">30sp</dimen>
</resources>

 

app/res/values/dimens.xml

 

dimens.xml 파일을 만들어서 resourced 태그 안에 dimen 태그를 추가하고 dp, sp 또는 다른 단위의 크기 값을 정의하면 소스 코드에서 그 값을 참조할 수 있다. 

소스 코드에서 참조할 때는 Resources 객체의 getDimension() 메서드를 사용한다. 이 메서드에서 반환하는 값은 픽셀 값으로 자동 변환된 값이다.

 

public void init(Context context){
        float textSize = getResources().getDimension(R.dimen.text_size); 
        setTextSize(textSize);
}
728x90