前言
最近在工作的时候接触了Android系统自带的Dialer,也就是拨号界面,在拨号的时候,我们可以发现它使用的EditText可以单行无限制输入,而且字体大小也会随着字数的增加而改变。个人感觉有点意思,就深入探索了一下。在此和大家做个分享。
首先,我们创建ResizingTextEditText这个类来继承EditText,创建带一个属性的构造,重写onTextChanged和onSizeChanged。这里说明一下,mOriginalTextSize代表初始字体大小,mMinTextSize代表最小值。
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.EditText;
import yrw.sagereal.com.resizingtext.R;
/**
* Created by yrw on 11/20/19.
*/
public class ResizingTextEditText extends EditText {
private final int mOriginalTextSize;
private final int mMinTextSize ;
public ResizingTextEditText(Context context, AttributeSet attrs) {
super(context, attrs