Android绘制换行文本StaticLayout

本文介绍在Android自定义View中使用onDraw方法进行文本绘制的过程,详细讲解了如何利用StaticLayout实现多行文本的自动换行及布局,包括设置文本颜色、大小、对齐方式、行间距等关键属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


## 自定义view在onDraw中绘制

@Override
protected void onDraw(Canvas canvas) {
	super.onDraw(canvas);
	TextPaint paint = new TextPaint();
	paint.setColor(Color.RED);
	paint.setTextSize(60);
	if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
		for (int i = 0; i < 5; i++) {
			canvas.translate(0, 100);
			StaticLayout layout = new StaticLayout("查看企业仓库点击进入", paint, canvas.getWidth(),
			 	Layout.Alignment.ALIGN_NORMAL, 1f, 0f, false);
			layout.draw(canvas);
			canvas.save();
		}
	}
}
StaticLayout 的构造方法
StaticLayout(CharSequence source, TextPaint paint, int width, Layout.Alignment align, 
			float spacingmult, float spacingadd, boolean includepad)

其中参数:
source:文本内容
width:文本区域的宽度,文本到达这个宽度后就会自动换行
align:文本的对齐方向
spacingmult:行间距的倍数,通常情况下填 1 就好
spacingadd:行间距的额外增加值,通常情况下填 0 就好
includeadd:是否在文本上下添加额外的空间,来避免某些过高的字符的绘制出现越界
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值