hasExplicitMovementMethodPlugin sample
This commit is contained in:
parent
8e332712fe
commit
b1a0f3b739
@ -4,7 +4,7 @@
|
||||
|
||||
#### Added
|
||||
* `core` - `MovementMethodPlugin.none()`, `MovementMethodPlugin.link()` factory methods
|
||||
* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` on `afterSetText`
|
||||
* `core` - `CorePlugin` `hasExplicitMovementMethodPlugin` configuration method to **not** add implicit `LinkMovementMethod` in `afterSetText`
|
||||
|
||||
#### Changed
|
||||
* `html` - `SimpleTagHandler` visits children tags if supplied tag is block one ([#235])
|
||||
|
@ -18,6 +18,7 @@ import java.util.Set;
|
||||
import io.noties.markwon.AbstractMarkwonPlugin;
|
||||
import io.noties.markwon.Markwon;
|
||||
import io.noties.markwon.core.CorePlugin;
|
||||
import io.noties.markwon.movement.MovementMethodPlugin;
|
||||
import io.noties.markwon.sample.ActivityWithMenuOptions;
|
||||
import io.noties.markwon.sample.MenuOptions;
|
||||
import io.noties.markwon.sample.R;
|
||||
@ -33,7 +34,10 @@ public class CoreActivity extends ActivityWithMenuOptions {
|
||||
.add("simple", this::simple)
|
||||
.add("toast", this::toast)
|
||||
.add("alreadyParsed", this::alreadyParsed)
|
||||
.add("enabledBlockTypes", this::enabledBlockTypes);
|
||||
.add("enabledBlockTypes", this::enabledBlockTypes)
|
||||
.add("implicitMovementMethod", this::implicitMovementMethod)
|
||||
.add("explicitMovementMethod", this::explicitMovementMethod)
|
||||
.add("explicitMovementMethodPlugin", this::explicitMovementMethodPlugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -163,4 +167,49 @@ public class CoreActivity extends ActivityWithMenuOptions {
|
||||
|
||||
markwon.setMarkdown(textView, md);
|
||||
}
|
||||
|
||||
private void implicitMovementMethod() {
|
||||
// by default a LinkMovementMethod is applied automatically, so links are clickable
|
||||
|
||||
final String md = "[0 link](#) here";
|
||||
|
||||
final Markwon markwon = Markwon.create(this);
|
||||
|
||||
markwon.setMarkdown(textView, md);
|
||||
}
|
||||
|
||||
private void explicitMovementMethod() {
|
||||
// NB! as movement method is set from other methods we _explicitly_ clear it
|
||||
textView.setMovementMethod(null);
|
||||
|
||||
// by default Markwon will set a LinkMovementMethod on a TextView if it is missing
|
||||
// to control that `hasExplicitMovementMethodPlugin` can be used
|
||||
final String md = "[1 link](#) here";
|
||||
|
||||
final Markwon markwon = Markwon.builder(this)
|
||||
.usePlugin(new AbstractMarkwonPlugin() {
|
||||
@Override
|
||||
public void configure(@NonNull Registry registry) {
|
||||
// Markwon **won't** set implicit movement method
|
||||
// thus making the link in markdown input not clickable
|
||||
registry.require(CorePlugin.class)
|
||||
.hasExplicitMovementMethodPlugin(true);
|
||||
}
|
||||
})
|
||||
.build();
|
||||
|
||||
markwon.setMarkdown(textView, md);
|
||||
}
|
||||
|
||||
private void explicitMovementMethodPlugin() {
|
||||
// additionally special MovementMethodPlugin.none() can be used to control `hasExplicitMovementMethodPlugin`
|
||||
|
||||
final String md = "[2 link](#) here";
|
||||
|
||||
final Markwon markwon = Markwon.builder(this)
|
||||
.usePlugin(MovementMethodPlugin.none())
|
||||
.build();
|
||||
|
||||
markwon.setMarkdown(textView, md);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user