TextView.setLetterSpacing
允许设置字母间距/字符间距。
有没有对应的CharacterStyle / span class允许在 TextView
?
最佳答案
所以我通过编写自己的 span 类解决了这个问题,它适用于 API 级别 21 及更高级别。
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Parcel;
import android.text.TextPaint;
import android.text.style.MetricAffectingSpan;
/**
* Created by alex on 19/02/2015.
*/
@TargetApi(21)
public class LetterSpacingSpan extends MetricAffectingSpan {
private float letterSpacing;
/**
* @param letterSpacing
*/
public LetterSpacingSpan(float letterSpacing) {
this.letterSpacing = letterSpacing;
}
public float getLetterSpacing() {
return letterSpacing;
}
@Override
public void updateDrawState(TextPaint ds) {
apply(ds);
}
@Override
public void updateMeasureState(TextPaint paint) {
apply(paint);
}
private void apply(TextPaint paint) {
paint.setLetterSpacing(letterSpacing);
}
}
关于android - 设置字母间距的字符样式/跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28562590/