下面列出了android.text.style.AlignmentSpan#Standard() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Nullable
@Override
public Object getSpans(
@NonNull MarkwonConfiguration configuration,
@NonNull RenderProps renderProps,
@NonNull HtmlTag tag) {
final Layout.Alignment alignment;
// html attribute without value, <align center></align>
if (tag.attributes().containsKey("center")) {
alignment = Layout.Alignment.ALIGN_CENTER;
} else if (tag.attributes().containsKey("end")) {
alignment = Layout.Alignment.ALIGN_OPPOSITE;
} else {
// empty value or any other will make regular alignment
alignment = Layout.Alignment.ALIGN_NORMAL;
}
return new AlignmentSpan.Standard(alignment);
}
private void appendText(CharSequence text, Layout.Alignment align) {
if (text == null || text.toString().trim().length() == 0) {
return;
}
AlignmentSpan span = new AlignmentSpan.Standard(align);
SpannableString spannableString = new SpannableString(text);
spannableString.setSpan(span, 0, text.length(), 0);
if (textView.length() > 0) {
textView.append("\n\n");
}
textView.append(spannableString);
}
@Override
public StyleEZ alignCenter(@NonNull ParagraphLocator paragraph) {
AlignmentSpan centerSpan = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_CENTER);
addMultipleSpan(paragraph, centerSpan);
return this;
}
@Override
public StyleEZ alignEnd(@NonNull ParagraphLocator paragraph) {
AlignmentSpan oppositeSpan = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_OPPOSITE);
addMultipleSpan(paragraph, oppositeSpan);
return this;
}
@Override
public StyleEZ alignStart(@NonNull ParagraphLocator paragraph) {
AlignmentSpan normalSpan = new AlignmentSpan.Standard(Layout.Alignment.ALIGN_NORMAL);
addMultipleSpan(paragraph, normalSpan);
return this;
}
public SpanOptions addAlignmentSpan(Layout.Alignment align) {
AlignmentSpan.Standard span = new AlignmentSpan.Standard(align);
listSpan.add(span);
return this;
}
/**
* 标准文本对齐样式
*
* @param text
* @param align "ALIGN_CENTER"、"ALIGN_NORMAL" 或"ALIGN_OPPOSITE"中的之一
* @return
*/
public AndroidSpan drawAlignmentSpan(String text, Layout.Alignment align) {
AlignmentSpan.Standard span = new AlignmentSpan.Standard(align);
drawSpan(text, span);
return this;
}