클래식한 방법은 디바이스 사이즈, 덴시티 등에 따라 폰트사이즈를 dimension에 정의해 두고 사용하는 방법입니다.
몇 년 전에는 AutosizingTextView가 추가 되었으므로, 필요하다면 사용해 볼 만할 겁니다.
https://developer.android.com/develop/ui/views/text-and-emoji/autosizing-textview
참고할 만한 동영상입니다.
https://www.youtube.com/watch?v=5lSQcJjZPFs
https://www.youtube.com/watch?v=ntlyrFw0F9U
참고로, 경험으로 볼 때, 모든 디바이스에 적합한 레이아웃을 지원하는 것은, 안드로이드 디바이스의 종류가 너무 많기 때문에 쉽지않으며, 팀사이즈가 제법 커야 합니다. 우버는 안드로이드 팀이 200명이 넘고, 메타는 1000명씩이나 됩니다. 그리고 세상에는 우리의 예상의 넘는 디바이스도들 많이 사용되기 때문에(예를 들면, 많이 사용도고 있는 OPPO 모델 중의 하나는 디바이스는 아주 크지만 덴시티는 아주 낮습니다.) 전부 구매해서 테스트해 볼 수도 없고 그렇기 때문에, 한 두명의 개발자만으로 제대로 지원하는 것은 굉장히 어렵습니다.
저는 해외에 거주하기 때문에, 한국 내 상황과는 맞지 않는 말을 했을 수도 있으니, 혹 제가 언급한 부분이 문제가 된다면 참고를 하시기 바랍니다.