sample, add justify sample
This commit is contained in:
parent
65309e684c
commit
949962ee0b
@ -1,4 +1,16 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"javaClassName": "io.noties.markwon.app.samples.JustifyModeSample",
|
||||||
|
"id": "20200826084338",
|
||||||
|
"title": "Justify text",
|
||||||
|
"description": "Justify text with `justificationMode` argument on Oreo (\u003e\u003d 26)",
|
||||||
|
"artifacts": [
|
||||||
|
"CORE"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"rendering"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"javaClassName": "io.noties.markwon.app.samples.image.GlideGifImageSample",
|
"javaClassName": "io.noties.markwon.app.samples.image.GlideGifImageSample",
|
||||||
"id": "20200820071942",
|
"id": "20200820071942",
|
||||||
@ -858,13 +870,12 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"javaClassName": "io.noties.markwon.app.samples.GithubUserIssueInlineParsingSample",
|
"javaClassName": "io.noties.markwon.app.samples.GithubUserIssueOnTextAddedSample",
|
||||||
"id": "20200629162024",
|
"id": "20200629162024",
|
||||||
"title": "User mention and issue (via text)",
|
"title": "User mention and issue (via text)",
|
||||||
"description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`",
|
"description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`",
|
||||||
"artifacts": [
|
"artifacts": [
|
||||||
"CORE",
|
"CORE"
|
||||||
"INLINE_PARSER"
|
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"parsing",
|
"parsing",
|
||||||
@ -873,12 +884,13 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"javaClassName": "io.noties.markwon.app.samples.GithubUserIssueOnTextAddedSample",
|
"javaClassName": "io.noties.markwon.app.samples.GithubUserIssueInlineParsingSample",
|
||||||
"id": "20200629162024",
|
"id": "20200629162024",
|
||||||
"title": "User mention and issue (via text)",
|
"title": "User mention and issue (via text)",
|
||||||
"description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`",
|
"description": "Github-like user mention and issue rendering via `CorePlugin.OnTextAddedListener`",
|
||||||
"artifacts": [
|
"artifacts": [
|
||||||
"CORE"
|
"CORE",
|
||||||
|
"INLINE_PARSER"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"parsing",
|
"parsing",
|
||||||
|
@ -0,0 +1,65 @@
|
|||||||
|
package io.noties.markwon.app.samples;
|
||||||
|
|
||||||
|
import android.os.Build;
|
||||||
|
import android.text.Layout;
|
||||||
|
import android.text.Spanned;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import io.noties.markwon.Markwon;
|
||||||
|
import io.noties.markwon.app.sample.Tags;
|
||||||
|
import io.noties.markwon.app.sample.ui.MarkwonTextViewSample;
|
||||||
|
import io.noties.markwon.image.AsyncDrawableScheduler;
|
||||||
|
import io.noties.markwon.image.ImagesPlugin;
|
||||||
|
import io.noties.markwon.sample.annotations.MarkwonArtifact;
|
||||||
|
import io.noties.markwon.sample.annotations.MarkwonSampleInfo;
|
||||||
|
|
||||||
|
@MarkwonSampleInfo(
|
||||||
|
id = "20200826084338",
|
||||||
|
title = "Justify text",
|
||||||
|
description = "Justify text with `justificationMode` argument on Oreo (>= 26)",
|
||||||
|
artifacts = MarkwonArtifact.CORE,
|
||||||
|
tags = Tags.rendering
|
||||||
|
)
|
||||||
|
public class JustifyModeSample extends MarkwonTextViewSample {
|
||||||
|
@Override
|
||||||
|
public void render() {
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
textView.setJustificationMode(Layout.JUSTIFICATION_MODE_INTER_WORD);
|
||||||
|
}
|
||||||
|
|
||||||
|
final String md = "" +
|
||||||
|
"# Justify\n\n" +
|
||||||
|
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis rutrum orci at aliquet dapibus. Quisque laoreet fermentum bibendum. Suspendisse euismod nisl vel sapien viverra faucibus. Nulla vel neque volutpat, egestas dui ac, consequat elit. Donec et interdum massa. Quisque porta ornare posuere. Nam at ante a felis facilisis tempus eu et erat. Curabitur auctor mauris eget purus iaculis vulputate.\n\n" +
|
||||||
|
"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis rutrum orci at aliquet dapibus. Quisque laoreet fermentum bibendum. Suspendisse euismod nisl vel sapien viverra faucibus. Nulla vel neque volutpat, egestas dui ac, consequat elit. Donec et interdum massa. Quisque porta ornare posuere. Nam at ante a felis facilisis tempus eu et erat. Curabitur auctor mauris eget purus iaculis vulputate.\n\n" +
|
||||||
|
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis rutrum orci at aliquet dapibus. Quisque laoreet fermentum bibendum. Suspendisse euismod nisl vel sapien viverra faucibus. Nulla vel neque volutpat, egestas dui ac, consequat elit. Donec et interdum massa. **Quisque porta ornare posuere.** Nam at ante a felis facilisis tempus eu et erat. Curabitur auctor mauris eget purus iaculis vulputate.\n\n" +
|
||||||
|
"";
|
||||||
|
|
||||||
|
if (false) {
|
||||||
|
// specify bufferType to make justificationMode argument be ignored
|
||||||
|
// Actually just calling method with BufferType argument would make
|
||||||
|
// justification gone
|
||||||
|
textView.setText(md, TextView.BufferType.SPANNABLE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Markwon markwon = Markwon.builder(context)
|
||||||
|
.usePlugin(ImagesPlugin.create())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
final Spanned spanned = markwon.toMarkdown(md);
|
||||||
|
|
||||||
|
// NB! the call to `setText` without arguments
|
||||||
|
textView.setText(spanned);
|
||||||
|
|
||||||
|
// if a plugin relies on `afterSetText` then we must manually call it,
|
||||||
|
// for example images are scheduled this way:
|
||||||
|
AsyncDrawableScheduler.schedule(textView);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// cannot use that
|
||||||
|
markwon.setMarkdown(textView, md);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user