textView自动缩放字体大小
来源:互联网 发布:python 模拟按键 编辑:程序博客网 时间:2024/06/05 23:48
textView显示的宽度是一定的,如果字数过长就要缩小字体,以满足显示宽度,如果字数少,就要正常显示字体大小,可自定义textView实现,代码如下:
public class AutoScaleTextView extends TextView { private static float DEFAULT_MIN_TEXT_SIZE = 0; private static float DEFAULT_MAX_TEXT_SIZE = 48; private Paint testPaint; private float minTextSize; private float maxTextSize; public AutoScaleTextView(Context context, AttributeSet attrs) { super(context, attrs); initialise(); } private void initialise() { testPaint = new Paint(); testPaint.set(this.getPaint()); maxTextSize = this.getTextSize(); if (maxTextSize <= DEFAULT_MIN_TEXT_SIZE) { maxTextSize = DEFAULT_MAX_TEXT_SIZE; } minTextSize = DEFAULT_MIN_TEXT_SIZE; } private void refitText(String text, int textWidth) { if (textWidth > 0) { int availableWidth = textWidth - this.getPaddingLeft() - this.getPaddingRight(); float trySize = maxTextSize; testPaint.setTextSize(trySize); while ((trySize > minTextSize) && (testPaint.measureText(text) > availableWidth)) { trySize -= 1; if (trySize <= minTextSize) { trySize = minTextSize; break; } testPaint.setTextSize(trySize); } this.setTextSize(TypedValue.COMPLEX_UNIT_PX, trySize);//TypedValue.COMPLEX_UNIT_PX不可少,将单位设置为像素 } } @Override protected void onTextChanged(CharSequence text, int start, int before, int after) { super.onTextChanged(text, start, before, after); refitText(text.toString(), this.getWidth()); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { if (w != oldw) { refitText(this.getText().toString(), w); } }}
0 0
- textView自动缩放字体大小
- Edittexth和TextView字体大小跟随输入长度自动缩放
- TextView自动缩放字体-AutoTextView
- 利用媒介查询实现自动缩放字体大小
- Android textview自适应宽度自动调整字体大小
- 自动调整textview字体大小以适应textview长度
- 自动缩放TextView 根据字符长度自动缩放
- TextView字体大小
- 自动调整TextView字体大小以适应文字长度
- AutoFitTextView-根据文本内容自动调整字体大小的TextView
- Android 自定义TextView实现文本内容自动调整字体大小以适应TextView的大小
- Android 自定义TextView实现文本内容自动调整字体大小以适应TextView的大小
- 自动调整TextView字体大小以适应文字长度&拖动一个角增大textView面积
- 未完成的字体大小缩放
- iOS手势缩放字体大小
- textView设置字体大小
- 设置android textview字体大小
- 动态调整TextView字体大小
- 学习web前端之练习一
- android学习总结(16.08.29)单选按钮(RadioButton),多选按钮(CheckBox)和开关按钮(Switch)
- SimHash算法原理
- 打靶游戏
- LeetCode 2. Add Two Numbers
- textView自动缩放字体大小
- 作业调度框架 Quartz
- phpstorm 一些相关记录
- Thinkphp出现模板不存在:./Index/Home/View/Index/index.html
- 第三方登录QQweb版
- poj 2570 Fiber Network --floyd求传递闭包加位运算
- yolo-darknet实现自己数据的train和test
- R语言基本绘图参数
- Javascript—有效变量名称