휴대폰으로 단소를 연습할 때는 현재 음의 운지를 보고, 다음에 짚을 손가락을 미리 확인합니다. 악보에서 음을 찾고 재생 버튼도 눌러야 합니다. 시스템 글씨를 키웠더니 정간 아래의 가사가 잘리고, 운지 화면에서는 지금 짚을 그림보다 다음 두 음의 그림이 더 크게 보였습니다. 두 문제 모두 글자가 들어가는 칸과 실제 화면에 남은 높이를 따로 다루면서 생겼습니다.
화면에 남은 높이부터 재기
Galaxy S25+의 도라지타령 연습 준비 화면에서 악보에 쓸 수 있는 높이는 약 226dp였습니다. 기본 크기로 두 각을 위아래로 쌓으려면 약 400dp가 필요했습니다. 여기서 각은 정간보의 여러 칸을 묶은 단위입니다. 페이지에 넣을 각의 개수만 조정하면, 같은 두 각이라도 글꼴 설정이나 칸 안 음표 수에 따라 잘리는 부분이 달라집니다.
Compose의 세로 스크롤 안에서는 콘텐츠가 끝까지 늘어날 수 있도록 자식을 높이 제한 없이 측정합니다. 그 안에서 받은 최대 높이로 화면에 몇 각이 들어가는지 계산하면 사용할 수 있는 높이를 알 수 없습니다. 연습 화면의 배치 계산에서는 유한한 높이가 있을 때만 여러 각을 쌓을 수 있는지 판단했습니다. 화면이 낮아 필요한 크기를 확보하기 어려운 경우에는 스크롤로 악보를 읽을 수 있게 했습니다.
현재 운지와 다음 음이 높이를 나눠 쓰게 하기
운지 화면에서는 다음 두 음의 줄 높이를 고정해 둔 탓에 공간이 좁아질수록 현재 운지만 작아졌습니다. 현재 운지와 다음 음이 남은 높이를 같은 기준으로 나누게 했습니다. 화면 높이에서 제목, 여백, 페이지 이동 버튼처럼 필요한 영역을 먼저 빼고, 남은 높이를 두 영역의 줄 수에 맞춰 배분했습니다. 휴대폰의 재생 카드도 한 줄로 줄여 악보와 운지가 쓸 공간을 확보했습니다.
큰 글씨 설정은 악보 묶음 계산에도 반영했습니다. 칸을 작게 배치할 때는 율명과 가사가 칸 안에 들어가는지 따로 봤습니다. 가사처럼 한 줄로 표시하는 글자는 칸 높이의 80%를 현재 밀도에서 sp로 환산한 뒤, 기본 크기와 비교해 작은 값을 썼습니다. 충분한 공간이 있는 칸은 기본 글자 크기를 사용합니다. 공간이 좁은 칸에서는 이 상한으로 글자 아랫부분이 잘리는 현상을 줄였습니다.
글씨를 키운 상태에서 확인한 것
Galaxy S25+의 글꼴 1.15배 설정에서 도라지타령 준비 화면의 곁줄 가사가 잘리지 않는 것을 확인했습니다. 운지법 함께 보기에서는 20페이지를 넘기며 다음 두 음과 페이지 이동 버튼이 보이는지 확인했습니다. 그 범위에서 페이지 안의 세로 스크롤 없이 이동할 수 있었습니다.
같은 확인을 최대 글꼴 크기, 다른 기기, 재생·녹음 중 자동 페이지 이동에서는 수행하지 않았습니다. 특히 Android 14부터는 큰 글씨 설정에 비선형 배율이 적용됩니다. 1.15배에서 글자와 칸이 맞았다는 관찰은 그 기기와 설정에 해당합니다. Android의 글꼴 확대 테스트 안내
이 화면에서 지켜야 할 동작은 악보를 읽고, 현재 운지를 확인하고, 다음 음으로 넘어가는 일이었습니다. 한 화면에 배치할 수 있는지는 그 세 동작에 필요한 크기를 확보한 뒤 판단할 수 있었습니다.

댓글
댓글과 반응은 GitHub 계정으로 로그인해 남길 수 있어요.