본문 바로가기
IT/Android

android studio 에서 화면 크기에 따른 글자 설정

by 성준하이 2022. 12. 15.
반응형

사용하는 디바이스가 모두 다를텐데 Textview를 고정값으로 해두면 화면이 큰 디바이스에서는 불편함을 느낄것이다.

 

여러 기기의 화면 크기에 문제없이 대응하기 위한 방법은 여러가지가 있다.

이전까지는 가장 좋은 방법은 사실 320dp, 600dp, 720dp 등 화면의 최소 너비나 높이를 기준으로 레이아웃을 세분화하여 해결하는 방법이 가장 정확하지만, 유지보수에 손이 많이가곤 했다.

android O(api26)부터 새로 추가된 Autosizing TextViews가 있는데 이를 좀 변형해서 화면 사이즈에 대응하도록 코드를 적용해보았다.

 

public Point getScreenSize(Activity activity) {
    Display display = activity.getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);

    return  size;
}

다음과 같이 화면 activity를 받고 size를 return 해주는 메서드를 하나 생성해주고

호출을 하면된다.

Point ScreenSize = getScreenSize(this);
density  = getResources().getDisplayMetrics().density;

standardSize_X = (int) (ScreenSize.x / density);
standardSize_Y = (int) (ScreenSize.y / density);

(변수 선언 생략)

 

이렇게 되면
date.setTextSize((float) (standardSize_X / 20));

이렇게 사이즈를 조정할수 있다.

반응형

댓글