TextViewUtils.java
1.01 KB
package com.sunvote.xpadapp.base;
import android.text.TextPaint;
import android.util.TypedValue;
import android.widget.TextView;
/**
* Created by Administrator on 2017/9/18 0018.
*/
public class TextViewUtils {
/**
* Textview文字自适用大小
* @param tv
* @param maxWidth
* @param text
*/
public static void adjustTvTextSize(TextView tv, int maxWidth, String text) {
int avaiWidth = maxWidth - tv.getPaddingLeft() - tv.getPaddingRight() - 10;
if (avaiWidth <= 0) {
return;
}
TextPaint textPaintClone = new TextPaint(tv.getPaint());
// note that Paint text size works in px not sp
float trySize = textPaintClone.getTextSize();
while (textPaintClone.measureText(text) > avaiWidth) {
trySize--;
textPaintClone.setTextSize(trySize);
}
tv.setText(text);
//此处相当于布局文件中的Android:gravity属性
tv.setTextSize(TypedValue.COMPLEX_UNIT_PX, trySize);
}
}