Adding support for disabling the underlining of links
This commit is contained in:
		
							parent
							
								
									3ab015175b
								
							
						
					
					
						commit
						74c632e8db
					
				| @ -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
	 Dallas Gutauckis
						Dallas Gutauckis