package com.duyp.architecture.mvvm.data.provider.timeline.handler; import android.text.SpannableStringBuilder; import android.text.style.RelativeSizeSpan; import net.nightwhistler.htmlspanner.TagNodeHandler; import net.nightwhistler.htmlspanner.spans.FontFamilySpan; import org.htmlcleaner.TagNode; /** * Created by duypham on 10/24/17. * */ public class HeaderHandler extends TagNodeHandler{ private final float size; public HeaderHandler(float size) { this.size = size; } @Override public void beforeChildren(TagNode node, SpannableStringBuilder builder) { appendNewLine(builder); } @Override public void handleTagNode(TagNode tagNode, SpannableStringBuilder builder, int start, int end) { builder.setSpan(new RelativeSizeSpan(this.size), start, end, 33); FontFamilySpan originalSpan = this.getFontFamilySpan(builder, start, end); FontFamilySpan boldSpan; if (originalSpan == null) { boldSpan = new FontFamilySpan(getSpanner().getDefaultFont()); } else { boldSpan = new FontFamilySpan(originalSpan.getFontFamily()); boldSpan.setItalic(originalSpan.isItalic()); } boldSpan.setBold(true); builder.setSpan(boldSpan, start, end, 33); appendNewLine(builder); } }