Android

[안드로이드/에러] Maximum auto-size text size is less or equal to minimum auto-size text size 해결 방법

유정주 2021. 8. 11. 09:00
반응형

안녕하세요. 

 

안드로이드 Textview를 다루면서 Maximum auto-size text size is less or equal to minimum auto-size text size 에러가 발생해서 해결방법에 대해 포스팅합니다.

 

삼성 갤럭시 시리즈로 테스트 하였습니다.

 

관련 Reference 문서

https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview

 

TextView 자동 크기 조절  |  Android 개발자  |  Android Developers

Android 8.0(API 수준 26) 이상을 사용하면 TextView의 특성 및 경계에 따라 텍스트 크기를 자동으로 확장하거나 축소하여 레이아웃을 채우도록 TextView에 지시할 수 있습니다. 이 설정을 사용하면 동적

developer.android.com


에러 원인

에러가 발생한 xml 코드입니다.

<TextView
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:textSize="14dp"
        android:gravity="center"
        android:maxLines="2"
        android:autoSizeTextType="uniform"
        android:autoSizeMaxTextSize="14dp"
/>

Textview의 자동 크기 조절 기능인 autoSize를 사용하였습니다. 

autoSizeMaxTextSize(자동으로 조절되는 최대 textSize)는 14dp를 주었습니다.

 

에러의 내용에서 알 수 있듯이 

제가 설정한 autoSizeMaxTextSize의 값이 자동으로 조절되는 최소 text size보다 작아서 발생한 에러입니다.

 

삼성 기기의 기본 최소 text size는 12sp라고 하네요.

기본으로 설정된 min text size가 있다는 사실을 몰랐기 때문에 이런 에러를 마주하게 되었습니다.

 

원인을 알았으니 해결은 간단하게 할 수 있습니다.


해결 방법

autoSizeMaxTextSize가 기본으로 설정되어 있는 autoSizeMinTextSize보다 작기 때문에 발생한 에러입니다.

그렇다면 autoSizeMinTextSize를 직접 설정해주면 문제가 해결됩니다.

아래와 같이 xml코드를 수정하였습니다.

 

<TextView
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:textSize="14dp"
        android:gravity="center"
        android:maxLines="2"
        android:autoSizeTextType="uniform"
        android:autoSizeMaxTextSize="14dp"
        android:autoSizeMinTextSize="8dp"
        />

autoSizeMinTextSize 속성을 직접 줌으로서 문제를 해결하였습니다.

같은 에러를 보신 분들도 autoMinTextSize를 직접 지정하시면 에러를 잡을 수 있습니다.

 

감사합니다! 


아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

공감 댓글 부탁드립니다.

반응형