Android TextView 3

[Android/kotlin] 시스템 폰트 크기에 영향받지 않게 하기

font size DP 선언 이전 포스팅에서도 정리한 적이 있지만 dp는 물리적인 디스플레이 해상도에 영향을 받지 않기 때문에 해상도에 따라 맞춰주지 않아도 된다. 반면, sp의 경우는 dp와 유사하지만 물리적인 디스플레이 해상도에 영향을 받는다. 그렇기 때문에 해상도에 영향을 받지 않으려면 dp로 TextSize를 정해주면 된다 (Galaxy S8 기준) 안드로이드 설정-> 디스플레이 -> 글자 크기와 스타일에 들어가면 글자 크기를 조절할 수 있는데, 부끄럽게도 이번에 처음 확인을 해보았다. 결과는 대참사가 일어났다. UI는 뒤죽박죽이 되었고, 심지어 잘려서 보이지 않는 텍스트가 발생했다. 부랴부랴 TextSize를 dp로 변경했지만, 내가 놓친 부분이 2개나 있었다. TextView가 programm..

📱 Android 2020.07.27

[Android / Kotlin] TextView 취소선 표시 및 해제

취소선이란 이런것 취소선 표시 Java tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); Kotlin tv.paintFlags = tv.paintFlags or Paint.STRIKE_THRU_TEXT_FLAG 취소선 해제 취소선 해제를 제대로 안 해주면 TextView의 폰트가 약간 깨져서 보이는 경우가 있었다 서치하다 찾아낸 방법 Kotlin 연산자에 대해서도 공부를 좀 해야겠다 Java tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG)); Kotlin tv.paintFlags = tv.paintFlags and Paint.STRIKE_THRU_TEXT_F..

📱 Android 2019.10.01

[Android / kotlin] getLineCount = 0으로 찍힐 때

아래 포스팅에서 textView에 설정된 ellipsize를 체크할 때 getLineCount를 사용했는데 0으로 가져올 때가 있어서 제대로 동작하지 않았습니다 문제는 textview가 그려지기 전에 line값을 반환해서 0이 찍혔기 때문입니다 Solution ) isLaidOut으로 그려졌는지 체크한 후에 ellipsize를 체크하면 정상적으로 동작합니다 API19 이전 , 이후로 나누어 사용합니다 이전 : ViewCompat.isLaidOut(textView)) 이후 : textView.isLaidOut 참고 사이트 : https://blog.asamaru.net/2015/09/04/android-view-dot-islaidout-and-view-dot-post/

📱 Android 2019.09.26