From 2f7f23c224d06c565cbbf72b3b20507f0fbbdfdf Mon Sep 17 00:00:00 2001 From: Salvatore Ranieri Date: Tue, 15 Dec 2020 16:55:07 +0100 Subject: [PATCH 1/2] added possibility to use "style" attribute in "li" tag --- .../java/com/sysdata/htmlspanner/HtmlSpanner.java | 2 +- .../htmlspanner/handlers/ListItemHandler.java | 14 +++++++++----- .../com/sysdata/kt/sdhtmltextview/MainActivity.kt | 8 +++++--- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java index fc410a8..305dd28 100644 --- a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java +++ b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java @@ -603,7 +603,7 @@ private void registerBuiltInHandlers() { TagNodeHandler centerHandler = new StyledTextHandler(new Style().setTextAlignment(Style.TextAlignment.CENTER)); registerHandler("center", centerHandler); - registerHandler("li", new ListItemHandler()); + registerHandler("li", new ListItemHandler(wrap(new StyledTextHandler(spanStyle)))); registerHandler("a", new LinkHandler()); registerHandler("img", new ImageHandler()); diff --git a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/handlers/ListItemHandler.java b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/handlers/ListItemHandler.java index 789870e..adbfcd4 100644 --- a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/handlers/ListItemHandler.java +++ b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/handlers/ListItemHandler.java @@ -18,7 +18,9 @@ import com.sysdata.htmlspanner.SpanStack; import com.sysdata.htmlspanner.TagNodeHandler; +import com.sysdata.htmlspanner.handlers.attributes.WrappingStyleHandler; import com.sysdata.htmlspanner.spans.ListItemSpan; +import com.sysdata.htmlspanner.style.Style; import org.htmlcleaner.TagNode; @@ -30,7 +32,11 @@ * @author Alex Kuiper * */ -public class ListItemHandler extends TagNodeHandler { +public class ListItemHandler extends WrappingStyleHandler { + + public ListItemHandler(StyledTextHandler wrappedHandler) { + super(wrappedHandler); + } private int getMyIndex(TagNode node) { if (node.getParent() == null) { @@ -64,9 +70,7 @@ private String getParentName(TagNode node) { } @Override - public void handleTagNode(TagNode node, SpannableStringBuilder builder, - int start, int end, SpanStack spanStack) { - + public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end, Style useStyle, SpanStack spanStack) { if (builder.length() > 0 && builder.charAt(builder.length() - 1) != '\n') { builder.append("\n"); @@ -80,6 +84,6 @@ public void handleTagNode(TagNode node, SpannableStringBuilder builder, ListItemSpan bSpan = new ListItemSpan(); spanStack.pushSpan(bSpan, start, end); } - + super.handleTagNode(node, builder, start, end, useStyle, spanStack); } } \ No newline at end of file diff --git a/app/src/main/java/com/sysdata/kt/sdhtmltextview/MainActivity.kt b/app/src/main/java/com/sysdata/kt/sdhtmltextview/MainActivity.kt index b319079..a9d8397 100644 --- a/app/src/main/java/com/sysdata/kt/sdhtmltextview/MainActivity.kt +++ b/app/src/main/java/com/sysdata/kt/sdhtmltextview/MainActivity.kt @@ -31,11 +31,13 @@ class MainActivity : AppCompatActivity() { "80" + "" + "" + + ""+ "" + + ""+ "" + "" + "" + From fbf51637419695161a69b72dbf56e764de7c6608 Mon Sep 17 00:00:00 2001 From: Salvatore Ranieri Date: Tue, 15 Dec 2020 17:00:59 +0100 Subject: [PATCH 2/2] made also ul/ol stylable --- .../src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java index 305dd28..409e068 100644 --- a/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java +++ b/HtmlSpanner/src/main/java/com/sysdata/htmlspanner/HtmlSpanner.java @@ -511,8 +511,8 @@ private void registerBuiltInHandlers() { registerHandler("blockquote", marginHandler); - TagNodeHandler listHandler = new StyledTextHandler(new Style() - .setDisplayStyle(Style.DisplayStyle.BLOCK)); + TagNodeHandler listHandler = new BorderAttributeHandler(wrap(new StyledTextHandler(new Style() + .setDisplayStyle(Style.DisplayStyle.BLOCK)))); registerHandler("ul", listHandler); registerHandler("ol", listHandler);
Firstname