前面有人回答过这个问题:
textview控件本身没有给间距的参数,但是可以从string.xml入手来解决:
方法1、使用 CDATA
<string name="demoStr"><Data><![CDATA[ <b>你的文字</b>]]></Data></string>
方法2、转义HTML标签
<string name="myHeadStr"><b><u>bold, underline </u></b></string>
具体你可以百度 android string html
这样的话就可以有你需要的显示效果了,在textview中是办不到的,不过这样可以解决。
@Override
public void onDraw (Canvas canvas) {
Rect targetRect = new Rect(50, 50, 1000, 200)
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG)
paint.setStrokeWidth(3)
paint.setTextSize(80)
String testString = "测试:ijkJQKA:1234"
paint.setColor(Color.CYAN)
canvas.drawRect(targetRect, paint)
paint.setColor(Color.RED)
FontMetricsInt fontMetrics = paint.getFontMetricsInt()
// 转载请注明出处:http://blog.csdn.net/hursing
int baseline = targetRect.top + (targetRect.bottom - targetRect.top - fontMetrics.bottom + fontMetrics.top) / 2 - fontMetrics.top
// 下面这行是实现水平居中,drawText对应改为传入targetRect.centerX()
paint.setTextAlign(Paint.Align.CENTER)
canvas.drawText(testString, targetRect.centerX(), baseline, paint)
}
效果(点击查看大图):
1.如果只是静态显示textView的内容为设置的行间距,执行如下代码:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]paragraphStyle.lineSpacing = 10// 字体的行间距
NSDictionary *attributes = @{
NSFontAttributeName:[UIFont systemFontOfSize:15],
NSParagraphStyleAttributeName:paragraphStyle
}
textView.attributedText = [[NSAttributedString alloc] initWithString:@"输入你的内容" attributes:attributes]
2.如果是想在输入内容的时候就按照设置的行间距进行动态改变,那就需要将上面代码放到textView的delegate方法里
-(void)textViewDidChange:(UITextView *)textView{
// textview 改变字体的行间距
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]
paragraphStyle.lineSpacing = 20// 字体的行间距
NSDictionary *attributes = @{
NSFontAttributeName:[UIFont systemFontOfSize:15],
NSParagraphStyleAttributeName:paragraphStyle
}
textView.attributedText = [[NSAttributedString alloc] initWithString:textView.text attributes:attributes]
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)