var maxWidth: Float = 0f
private fun setTextDynamicSize (textView :TextView, text: String) {
var textSizeInDp = 16f
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSizeInDp)
var textWidth = textView.paint.measureText(text)
if (maxWidth == 0f) {
val halfWidth = STDeviceUtils.getScreenWidth(textView.context) / 2
val location = IntArray(2)
maxWidth = (halfWidth - STDeviceUtils.dip2px(80f)).toFloat()
}
if(textWidth > maxWidth){
var i: Int = 40
while(i-- > 0 && textSizeInDp > 3) {
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSizeInDp)
textWidth = textView.paint.measureText(text)
if(textWidth <= maxWidth){
break
}
textSizeInDp -= 2
}
}
textView.text = text
textView.invalidate()
}
TextView單行文字自適應--草稿代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.