Merge pull request #270 from seatgeek/dallas/add_link_underline_option
Adding support for disabling the underlining of links
This commit is contained in:
commit
6ec7132273
@ -21,7 +21,7 @@ import io.noties.markwon.utils.Dip;
|
|||||||
/**
|
/**
|
||||||
* Class to hold <i>theming</i> information for rending of markdown.
|
* Class to hold <i>theming</i> information for rending of markdown.
|
||||||
* <p>
|
* <p>
|
||||||
* Since version 3.0.0 this class should be considered as <em>CoreTheme</em> as it\'s
|
* Since version 3.0.0 this class should be considered as <em>CoreTheme</em> as its
|
||||||
* information holds data for core features only. But based on this other components can still use it
|
* information holds data for core features only. But based on this other components can still use it
|
||||||
* to display markdown consistently.
|
* to display markdown consistently.
|
||||||
* <p>
|
* <p>
|
||||||
@ -117,6 +117,10 @@ public class MarkwonTheme {
|
|||||||
|
|
||||||
protected final int linkColor;
|
protected final int linkColor;
|
||||||
|
|
||||||
|
// specifies whether we underline links, by default is true
|
||||||
|
// @since 4.4.1
|
||||||
|
protected final boolean isLinkedUnderlined;
|
||||||
|
|
||||||
// used in quote, lists
|
// used in quote, lists
|
||||||
protected final int blockMargin;
|
protected final int blockMargin;
|
||||||
|
|
||||||
@ -185,6 +189,7 @@ public class MarkwonTheme {
|
|||||||
|
|
||||||
protected MarkwonTheme(@NonNull Builder builder) {
|
protected MarkwonTheme(@NonNull Builder builder) {
|
||||||
this.linkColor = builder.linkColor;
|
this.linkColor = builder.linkColor;
|
||||||
|
this.isLinkedUnderlined = builder.isLinkUnderlined;
|
||||||
this.blockMargin = builder.blockMargin;
|
this.blockMargin = builder.blockMargin;
|
||||||
this.blockQuoteWidth = builder.blockQuoteWidth;
|
this.blockQuoteWidth = builder.blockQuoteWidth;
|
||||||
this.blockQuoteColor = builder.blockQuoteColor;
|
this.blockQuoteColor = builder.blockQuoteColor;
|
||||||
@ -212,7 +217,7 @@ public class MarkwonTheme {
|
|||||||
* @since 1.0.5
|
* @since 1.0.5
|
||||||
*/
|
*/
|
||||||
public void applyLinkStyle(@NonNull TextPaint paint) {
|
public void applyLinkStyle(@NonNull TextPaint paint) {
|
||||||
paint.setUnderlineText(true);
|
paint.setUnderlineText(isLinkedUnderlined);
|
||||||
if (linkColor != 0) {
|
if (linkColor != 0) {
|
||||||
paint.setColor(linkColor);
|
paint.setColor(linkColor);
|
||||||
} else {
|
} else {
|
||||||
@ -222,7 +227,7 @@ public class MarkwonTheme {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void applyLinkStyle(@NonNull Paint paint) {
|
public void applyLinkStyle(@NonNull Paint paint) {
|
||||||
paint.setUnderlineText(true);
|
paint.setUnderlineText(isLinkedUnderlined);
|
||||||
if (linkColor != 0) {
|
if (linkColor != 0) {
|
||||||
// by default we will be using text color
|
// by default we will be using text color
|
||||||
paint.setColor(linkColor);
|
paint.setColor(linkColor);
|
||||||
@ -457,6 +462,7 @@ public class MarkwonTheme {
|
|||||||
public static class Builder {
|
public static class Builder {
|
||||||
|
|
||||||
private int linkColor;
|
private int linkColor;
|
||||||
|
private boolean isLinkUnderlined = true; // @since 4.4.1
|
||||||
private int blockMargin;
|
private int blockMargin;
|
||||||
private int blockQuoteWidth;
|
private int blockQuoteWidth;
|
||||||
private int blockQuoteColor;
|
private int blockQuoteColor;
|
||||||
@ -484,6 +490,7 @@ public class MarkwonTheme {
|
|||||||
|
|
||||||
Builder(@NonNull MarkwonTheme theme) {
|
Builder(@NonNull MarkwonTheme theme) {
|
||||||
this.linkColor = theme.linkColor;
|
this.linkColor = theme.linkColor;
|
||||||
|
this.isLinkUnderlined = theme.isLinkedUnderlined;
|
||||||
this.blockMargin = theme.blockMargin;
|
this.blockMargin = theme.blockMargin;
|
||||||
this.blockQuoteWidth = theme.blockQuoteWidth;
|
this.blockQuoteWidth = theme.blockQuoteWidth;
|
||||||
this.blockQuoteColor = theme.blockQuoteColor;
|
this.blockQuoteColor = theme.blockQuoteColor;
|
||||||
@ -511,6 +518,12 @@ public class MarkwonTheme {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public Builder isLinkUnderlined(boolean isLinkUnderlined) {
|
||||||
|
this.isLinkUnderlined = isLinkUnderlined;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public Builder blockMargin(@Px int blockMargin) {
|
public Builder blockMargin(@Px int blockMargin) {
|
||||||
this.blockMargin = blockMargin;
|
this.blockMargin = blockMargin;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user