import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;
/**
* Created by wangliang on 0016/2016/12/16.
* 创建时间: 0016/2016/12/16.
* 创建人:王亮(Loren wang)
* 功能作用:文字总是在底部的textview
* 思路:
* 修改人:
* 修改时间:
* 备注:
*/
public class NoPaddingTextView extends TextView {
private String TAG = getClass().getName();
private Paint paint;
public NoPaddingTextView(Context context) {
super(context);
}
public NoPaddingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoPaddingTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec,heightMeasureSpec);
paint = new Paint();
paint.setTextSize(getTextSize());
paint.setAntiAlias(true);
paint.setColor(getTextColors().getDefaultColor());
Paint.FontMetrics fontMetrics = paint.getFontMetrics();
setMeasuredDimension((int) paint.measureText((String) getText()),
(int) (fontMetrics.descent - fontMetrics.ascent) + 10);
}
@Override
protected void onDraw(Canvas canvas) {
LogUtils.logD(TAG,getText().toString());
String text = (String) getText();
canvas.drawText(text
,0,getHeight() - 5,paint);
}
@Override
public void setText(CharSequence text, BufferType type) {
postInvalidate();
super.setText(text, type);
}
}
安卓开发之文字总是在底部的textview
最新推荐文章于 2023-06-13 17:19:17 发布
本文介绍了一个自定义的Android TextView组件——NoPaddingTextView,该组件能够让文字始终显示在视图底部,且不受padding设置的影响。通过重写onMeasure和onDraw方法实现此功能,并确保文字的正确布局与绘制。
1万+

被折叠的 条评论
为什么被折叠?



