@nativescript-community/ui-label 1.3.13 → 1.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -57,20 +57,20 @@ declare abstract class LabelBase extends View implements LabelViewDefinition {
57
57
  protected _paintFlags: number;
58
58
  }
59
59
  export declare class Label extends LabelBase {
60
- nativeViewProtected: com.nativescript.text.TextView;
60
+ nativeViewProtected: com.nativescript.label.NSLabel;
61
61
  handleFontSize: boolean;
62
62
  mTappable: boolean;
63
63
  private mAutoFontSize;
64
64
  private mDefaultMovementMethod;
65
- get nativeTextViewProtected(): com.nativescript.text.TextView;
66
- createNativeView(): globalAndroid.view.View;
65
+ get nativeTextViewProtected(): com.nativescript.label.NSLabel;
66
+ createNativeView(): com.nativescript.label.NSLabel;
67
67
  urlSpanClickListener: com.nativescript.text.URLSpanClickListener;
68
68
  disposeNativeView(): void;
69
- private enableAutoSize;
70
- private disableAutoSize;
69
+ protected enableAutoSize(): void;
70
+ protected disableAutoSize(): void;
71
71
  createFormattedTextNative(value: any): any;
72
72
  createHTMLString(): globalAndroid.text.SpannableStringBuilder;
73
73
  _setTappableState(tappable: boolean): void;
74
- onURLClick(span: android.text.style.URLSpan): void;
74
+ onURLClick(link: string): void;
75
75
  _setNativeText(reset?: boolean): void;
76
76
  }
package/label.android.js CHANGED
@@ -1,17 +1,15 @@
1
1
  var _a, _b, _c, _d;
2
2
  import { LightFormattedString, createNativeAttributedString, cssProperty, getTransformedText, useLightFormattedString, verticalTextAlignmentProperty } from '@nativescript-community/text';
3
- import { CSSType, Device, FormattedString, Observable, Property, Span, Utils, View, booleanConverter, profile } from '@nativescript/core';
3
+ import { CSSType, FormattedString, Observable, Property, Span, Utils, View, booleanConverter, profile } from '@nativescript/core';
4
4
  import { Color } from '@nativescript/core/color';
5
5
  import { Font } from '@nativescript/core/ui/styling/font';
6
6
  import { Length, colorProperty, fontInternalProperty, fontSizeProperty, paddingBottomProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty } from '@nativescript/core/ui/styling/style-properties';
7
7
  import { letterSpacingProperty, lineHeightProperty, textAlignmentProperty, textDecorationProperty, textTransformProperty, whiteSpaceProperty } from '@nativescript/core/ui/text-base';
8
8
  import { maxLinesProperty } from '@nativescript/core/ui/text-base/text-base-common';
9
- import lazy from '@nativescript/core/utils/lazy';
10
9
  import { autoFontSizeProperty, lineBreakProperty, maxFontSizeProperty, minFontSizeProperty, needSetText, selectableProperty, textShadowProperty } from './label-common';
11
10
  export { createNativeAttributedString } from '@nativescript-community/text';
12
11
  export * from './label-common';
13
- const sdkVersion = lazy(() => parseInt(Device.sdkVersion, 10));
14
- let TextView;
12
+ let NSLabel;
15
13
  const CHILD_FORMATTED_TEXT = 'formattedText';
16
14
  const resetSymbol = Symbol('textPropertyDefault');
17
15
  const textProperty = new Property({ name: 'text', defaultValue: '', affectsLayout: true });
@@ -21,30 +19,6 @@ const formattedTextProperty = new Property({
21
19
  valueChanged: onFormattedTextPropertyChanged
22
20
  });
23
21
  export const htmlProperty = new Property({ name: 'html', defaultValue: null, affectsLayout: true });
24
- function getHorizontalGravity(textAlignment) {
25
- switch (textAlignment) {
26
- case 'center':
27
- return 1; //Gravity.CENTER_HORIZONTAL
28
- case 'right':
29
- return 8388613; //Gravity.END
30
- default:
31
- case 'initial':
32
- case 'left':
33
- return 8388611; //Gravity.START
34
- }
35
- }
36
- function getVerticalGravity(textAlignment) {
37
- switch (textAlignment) {
38
- case 'initial':
39
- case 'top':
40
- return 48; //Gravity.TOP
41
- case 'middle':
42
- case 'center':
43
- return 16; //Gravity.CENTER_VERTICAL
44
- case 'bottom':
45
- return 80; //Gravity.BOTTOM
46
- }
47
- }
48
22
  let LabelBase = class LabelBase extends View {
49
23
  constructor() {
50
24
  super(...arguments);
@@ -192,8 +166,6 @@ __decorate([
192
166
  LabelBase = __decorate([
193
167
  CSSType('HTMLLabel')
194
168
  ], LabelBase);
195
- let layoutId;
196
- let LayoutInflater;
197
169
  export class Label extends LabelBase {
198
170
  constructor() {
199
171
  super(...arguments);
@@ -205,18 +177,10 @@ export class Label extends LabelBase {
205
177
  return this.nativeViewProtected;
206
178
  }
207
179
  createNativeView() {
208
- if (!TextView) {
209
- TextView = com.nativescript.text.TextView;
210
- }
211
- // return new TextView(this._context);
212
- if (!layoutId) {
213
- const context = Utils.android.getApplicationContext();
214
- layoutId = context.getResources().getIdentifier('ns_label', 'layout', context.getPackageName());
180
+ if (!NSLabel) {
181
+ NSLabel = com.nativescript.label.NSLabel;
215
182
  }
216
- if (!LayoutInflater) {
217
- LayoutInflater = android.view.LayoutInflater;
218
- }
219
- return LayoutInflater.from(this._context).inflate(layoutId, null, false);
183
+ return NSLabel.inflateLayout(this._context);
220
184
  }
221
185
  disposeNativeView() {
222
186
  super.disposeNativeView();
@@ -235,56 +199,30 @@ export class Label extends LabelBase {
235
199
  }
236
200
  }
237
201
  [lineBreakProperty.setNative](value) {
238
- const nativeView = this.nativeTextViewProtected;
239
- switch (value) {
240
- case 'end':
241
- nativeView.setEllipsize(android.text.TextUtils.TruncateAt.END);
242
- break;
243
- case 'start':
244
- nativeView.setEllipsize(android.text.TextUtils.TruncateAt.START);
245
- break;
246
- case 'marquee':
247
- nativeView.setEllipsize(android.text.TextUtils.TruncateAt.MARQUEE);
248
- break;
249
- case 'middle':
250
- nativeView.setEllipsize(android.text.TextUtils.TruncateAt.MIDDLE);
251
- break;
252
- case 'none':
253
- nativeView.setEllipsize(null);
254
- break;
255
- }
202
+ this.nativeTextViewProtected.setLineBreak(value);
256
203
  }
257
204
  [whiteSpaceProperty.setNative](value) {
258
205
  if (!this.lineBreak) {
259
- const nativeView = this.nativeTextViewProtected;
260
- switch (value) {
261
- case 'initial':
262
- case 'normal':
263
- nativeView.setSingleLine(false);
264
- nativeView.setEllipsize(null);
265
- break;
266
- case 'nowrap':
267
- nativeView.setSingleLine(true);
268
- nativeView.setEllipsize(android.text.TextUtils.TruncateAt.END);
269
- break;
270
- }
206
+ this.nativeTextViewProtected.setWhiteSpace(value);
271
207
  }
272
208
  }
273
209
  [textShadowProperty.getDefault](value) {
274
- return {
275
- radius: this.nativeTextViewProtected.getShadowRadius(),
276
- offsetX: this.nativeTextViewProtected.getShadowDx(),
277
- offsetY: this.nativeTextViewProtected.getShadowDy(),
278
- color: this.nativeTextViewProtected.getShadowColor()
279
- };
210
+ let defaultValue = Label[textShadowProperty.defaultValueKey];
211
+ if (!defaultValue) {
212
+ defaultValue = Label[textShadowProperty.defaultValueKey] = {
213
+ radius: this.nativeTextViewProtected.getShadowRadius(),
214
+ offsetX: this.nativeTextViewProtected.getShadowDx(),
215
+ offsetY: this.nativeTextViewProtected.getShadowDy(),
216
+ color: this.nativeTextViewProtected.getShadowColor()
217
+ };
218
+ }
219
+ return defaultValue;
280
220
  }
281
221
  [textShadowProperty.setNative](value) {
282
- // prettier-ignore
283
222
  this.nativeViewProtected.setShadowLayer(Length.toDevicePixels(value.blurRadius, java.lang.Float.MIN_VALUE), Length.toDevicePixels(value.offsetX, 0), Length.toDevicePixels(value.offsetY, 0), value.color.android);
284
223
  }
285
224
  [verticalTextAlignmentProperty.setNative](value) {
286
- const view = this.nativeTextViewProtected;
287
- view.setGravity(getHorizontalGravity(this.textAlignment) | getVerticalGravity(value));
225
+ this.nativeTextViewProtected.setVerticalTextAlignment(value, this.textAlignment);
288
226
  }
289
227
  [textProperty.getDefault]() {
290
228
  return resetSymbol;
@@ -294,19 +232,7 @@ export class Label extends LabelBase {
294
232
  [_c = htmlProperty.setNative](value) { }
295
233
  [_d = textTransformProperty.setNative](value) { }
296
234
  [textAlignmentProperty.setNative](value) {
297
- const view = this.nativeTextViewProtected;
298
- if (android.os.Build.VERSION.SDK_INT >= 26) {
299
- if (value === 'justify') {
300
- view.setJustificationMode(android.text.Layout.JUSTIFICATION_MODE_INTER_WORD);
301
- }
302
- else {
303
- view.setJustificationMode(android.text.Layout.JUSTIFICATION_MODE_NONE);
304
- view.setGravity(getHorizontalGravity(value) | getVerticalGravity(this.verticalTextAlignment));
305
- }
306
- }
307
- else {
308
- view.setGravity(getHorizontalGravity(value) | getVerticalGravity(this.verticalTextAlignment));
309
- }
235
+ this.nativeTextViewProtected.setLabelTextAlignment(value, this.verticalTextAlignment);
310
236
  }
311
237
  [colorProperty.setNative](value) {
312
238
  const color = !value || value instanceof Color ? value : new Color(value);
@@ -320,56 +246,17 @@ export class Label extends LabelBase {
320
246
  }
321
247
  }
322
248
  [fontSizeProperty.setNative](value) {
323
- // setTextSize is ignored if autoFontSize is enabled
324
- // so we need to disable autoFontSize just to set textSize
325
- if (this.mAutoFontSize) {
326
- this.disableAutoSize();
327
- }
328
- if (typeof value === 'number') {
329
- this.nativeTextViewProtected.setTextSize(value);
330
- }
331
- else {
332
- this.nativeTextViewProtected.setTextSize(android.util.TypedValue.COMPLEX_UNIT_SP, value.nativeSize);
333
- }
334
- if (this.mAutoFontSize) {
335
- this.enableAutoSize();
336
- }
249
+ this.nativeTextViewProtected.setLabelTextSize(2, typeof value === 'number' ? value : value.nativeSize, this.minFontSize || 10, this.maxFontSize || 200, this.autoFontSizeStep || 1);
337
250
  }
338
251
  [lineHeightProperty.setNative](value) {
339
- if (sdkVersion() >= 28) {
340
- this.nativeTextViewProtected.setLineHeight(value * Utils.layout.getDisplayDensity());
341
- }
342
- else {
343
- const fontHeight = this.nativeTextViewProtected.getPaint().getFontMetrics(null);
344
- this.nativeTextViewProtected.setLineSpacing(value * Utils.layout.getDisplayDensity() - fontHeight, 1);
345
- }
252
+ this.nativeTextViewProtected.setLineHeight(value * Utils.layout.getDisplayDensity());
346
253
  }
347
254
  [fontInternalProperty.setNative](value) {
348
255
  const androidFont = value instanceof Font ? value.getAndroidTypeface() : value;
349
256
  this.nativeTextViewProtected.setTypeface(androidFont);
350
- if (this.lineHeight && sdkVersion() < 28) {
351
- const fontHeight = this.nativeTextViewProtected.getPaint().getFontMetrics(null);
352
- this.nativeTextViewProtected.setLineSpacing(this.lineHeight * Utils.layout.getDisplayDensity() - fontHeight, 1);
353
- }
354
257
  }
355
258
  [textDecorationProperty.setNative](value) {
356
- switch (value) {
357
- case 'none':
358
- this.nativeTextViewProtected.setPaintFlags(0);
359
- break;
360
- case 'underline':
361
- this.nativeTextViewProtected.setPaintFlags(android.graphics.Paint.UNDERLINE_TEXT_FLAG);
362
- break;
363
- case 'line-through':
364
- this.nativeTextViewProtected.setPaintFlags(android.graphics.Paint.STRIKE_THRU_TEXT_FLAG);
365
- break;
366
- case 'underline line-through':
367
- this.nativeTextViewProtected.setPaintFlags(android.graphics.Paint.UNDERLINE_TEXT_FLAG | android.graphics.Paint.STRIKE_THRU_TEXT_FLAG);
368
- break;
369
- default:
370
- this.nativeTextViewProtected.setPaintFlags(value);
371
- break;
372
- }
259
+ this.nativeTextViewProtected.setTextDecoration(value);
373
260
  }
374
261
  [letterSpacingProperty.setNative](value) {
375
262
  org.nativescript.widgets.ViewHelper.setLetterspacing(this.nativeTextViewProtected, value);
@@ -398,9 +285,6 @@ export class Label extends LabelBase {
398
285
  [paddingLeftProperty.setNative](value) {
399
286
  org.nativescript.widgets.ViewHelper.setPaddingLeft(this.nativeTextViewProtected, Length.toDevicePixels(value, 0) + Length.toDevicePixels(this.style.borderLeftWidth, 0));
400
287
  }
401
- enableAutoSize() {
402
- androidx.core.widget.TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(this.nativeView, this.minFontSize || 10, this.maxFontSize || 200, this.autoFontSizeStep || 1, android.util.TypedValue.COMPLEX_UNIT_DIP);
403
- }
404
288
  [maxFontSizeProperty.setNative](value) {
405
289
  if (this.mAutoFontSize) {
406
290
  this.enableAutoSize();
@@ -411,8 +295,11 @@ export class Label extends LabelBase {
411
295
  this.enableAutoSize();
412
296
  }
413
297
  }
298
+ enableAutoSize() {
299
+ this.nativeViewProtected.enableAutoSize(this.minFontSize || 10, this.maxFontSize || 200, this.autoFontSizeStep || 1);
300
+ }
414
301
  disableAutoSize() {
415
- androidx.core.widget.TextViewCompat.setAutoSizeTextTypeWithDefaults(this.nativeView, androidx.core.widget.TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE);
302
+ this.nativeViewProtected.disableAutoSize();
416
303
  }
417
304
  [autoFontSizeProperty.setNative](value) {
418
305
  this.mAutoFontSize = value;
@@ -433,16 +320,15 @@ export class Label extends LabelBase {
433
320
  }
434
321
  createHTMLString() {
435
322
  const result = createNativeAttributedString({ text: this.html, linkColor: this.linkColor, linkDecoration: this.linkUnderline ? 'underline' : undefined }, undefined, this, this.autoFontSize, 1);
436
- this._setTappableState(TextView.attributedStringHasSpan(result, android.text.style.URLSpan.class));
323
+ this._setTappableState(NSLabel.attributedStringHasURLSpan(result));
437
324
  return result;
438
325
  }
439
326
  _setTappableState(tappable) {
440
327
  if (this.mTappable !== tappable) {
441
328
  this.mTappable = tappable;
442
329
  const nativeView = this.nativeTextViewProtected;
330
+ nativeView.setTappableState(tappable);
443
331
  if (this.mTappable) {
444
- nativeView.setMovementMethod(android.text.method.LinkMovementMethod.getInstance());
445
- nativeView.setHighlightColor(null);
446
332
  if (!this.urlSpanClickListener) {
447
333
  this.urlSpanClickListener = new com.nativescript.text.URLSpanClickListener({
448
334
  onClick: this.onURLClick.bind(this)
@@ -451,13 +337,11 @@ export class Label extends LabelBase {
451
337
  nativeView.urlSpanClickListener = this.urlSpanClickListener;
452
338
  }
453
339
  else {
454
- nativeView.setMovementMethod(this.mDefaultMovementMethod);
455
340
  nativeView.urlSpanClickListener = null;
456
341
  }
457
342
  }
458
343
  }
459
- onURLClick(span) {
460
- const link = span.getURL();
344
+ onURLClick(link) {
461
345
  if (this.formattedText) {
462
346
  const spanIndex = parseInt(link, 10);
463
347
  if (!isNaN(spanIndex) && spanIndex >= 0 && spanIndex < this.formattedText?.spans.length) {
@@ -487,7 +371,7 @@ export class Label extends LabelBase {
487
371
  transformedText = this.createFormattedTextNative(this.formattedText);
488
372
  textProperty.nativeValueChange(this, this.formattedText === null || this.formattedText === undefined ? '' : this.formattedText.toString());
489
373
  }
490
- else if (this.text instanceof java.lang.CharSequence || this.text instanceof android.text.Spannable) {
374
+ else if (this.text instanceof java.lang.CharSequence || this.text instanceof android.text.Spanned) {
491
375
  transformedText = this.text;
492
376
  }
493
377
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"label.android.js","sourceRoot":"../src/","sources":["label.android.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"label.android.js","sourceRoot":"../src/","sources":["label.android.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-label",
3
- "version": "1.3.13",
3
+ "version": "1.3.14",
4
4
  "description": "Alternative to the built-in NativeScript Label but with better performance and additional features such as HTML rendering and more.",
5
5
  "main": "./label",
6
6
  "sideEffects": false,
@@ -34,5 +34,5 @@
34
34
  "dependencies": {
35
35
  "@nativescript-community/text": "^1.5.41"
36
36
  },
37
- "gitHead": "b8bfbad2c7fa54dadaa026790d5ea240e9371fe8"
37
+ "gitHead": "84f1e4105ac2d3f255257f82687b8a81d8f8ece6"
38
38
  }
@@ -0,0 +1,225 @@
1
+ package com.nativescript.label;
2
+
3
+ import androidx.appcompat.widget.AppCompatTextView;
4
+ import com.nativescript.text.TextView;
5
+ import android.content.Context;
6
+ import android.graphics.Paint;
7
+ import android.graphics.Color;
8
+ import android.graphics.Typeface;
9
+ import android.os.Build;
10
+ import android.text.method.MovementMethod;
11
+ import android.text.style.URLSpan;
12
+ import android.text.TextUtils.TruncateAt;
13
+ import android.view.Gravity;
14
+ import android.view.LayoutInflater;
15
+ import androidx.core.widget.TextViewCompat;
16
+
17
+ public class NSLabel extends TextView {
18
+ static int layoutId = -1;
19
+ private int lineHeight = -1;
20
+
21
+ public NSLabel(Context context) {
22
+ super(context);
23
+ }
24
+ public NSLabel(Context context, android.util.AttributeSet attrs) {
25
+ super(context, attrs);
26
+ }
27
+
28
+ public static boolean attributedStringHasURLSpan(android.text.Spannable attributeString) {
29
+ return attributedStringHasSpan(attributeString, URLSpan.class);
30
+ }
31
+
32
+ public static NSLabel inflateLayout(Context context) {
33
+ if (layoutId == -1) {
34
+ layoutId = context.getResources().getIdentifier("ns_label", "layout", context.getPackageName());
35
+ }
36
+ LayoutInflater inflater = (LayoutInflater)context.getSystemService
37
+ (Context.LAYOUT_INFLATER_SERVICE);
38
+ return (NSLabel)inflater.inflate(layoutId, null);
39
+ }
40
+
41
+ @Override
42
+ public void setMaxLines (int maxLines) {
43
+ super.setMaxLines(maxLines);
44
+ }
45
+
46
+ @Override
47
+ public void setTextIsSelectable (boolean value) {
48
+ super.setTextIsSelectable(value);
49
+ }
50
+
51
+ public void setLineBreak (String value) {
52
+ switch (value) {
53
+ case "end":
54
+ setEllipsize(TruncateAt.END);
55
+ break;
56
+ case "start":
57
+ setEllipsize(TruncateAt.START);
58
+ break;
59
+ case "marquee":
60
+ setEllipsize(TruncateAt.MARQUEE);
61
+ break;
62
+ case "middle":
63
+ setEllipsize(TruncateAt.MIDDLE);
64
+ break;
65
+ case "none":
66
+ setEllipsize(null);
67
+ break;
68
+ }
69
+ }
70
+
71
+ public void setWhiteSpace (String value) {
72
+ switch (value) {
73
+ case "initial":
74
+ case "normal":
75
+ setSingleLine(false);
76
+ setEllipsize(null);
77
+ break;
78
+ case "nowrap":
79
+ setSingleLine(true);
80
+ setEllipsize(TruncateAt.END);
81
+ break;
82
+ }
83
+ }
84
+
85
+ @Override
86
+ public void setShadowLayer (float radius,
87
+ float dx,
88
+ float dy,
89
+ int color) {
90
+ super.setShadowLayer(radius, dx, dy, color);
91
+ }
92
+
93
+ protected int getHorizontalGravity(String textAlignment) {
94
+ if (textAlignment == null) {
95
+ return Gravity.START;
96
+ }
97
+ switch (textAlignment) {
98
+ case "center":
99
+ return Gravity.CENTER_HORIZONTAL;
100
+ case "right":
101
+ return Gravity.END;
102
+ default:
103
+ return Gravity.START;
104
+ }
105
+ }
106
+
107
+ protected int getVerticalGravity(String textAlignment) {
108
+ if (textAlignment == null) {
109
+ return Gravity.TOP;
110
+ }
111
+ switch (textAlignment) {
112
+ case "middle":
113
+ case "center":
114
+ return Gravity.CENTER_VERTICAL;
115
+ case "bottom":
116
+ return Gravity.BOTTOM;
117
+ default:
118
+ return Gravity.TOP;
119
+ }
120
+ }
121
+
122
+ public void setVerticalTextAlignment (String value, String textAlignment) {
123
+ setGravity(getHorizontalGravity(textAlignment) | getVerticalGravity(value));
124
+ }
125
+
126
+ public void setLabelTextAlignment (String value, String verticalTextAlignment) {
127
+ if (Build.VERSION.SDK_INT >= 26) {
128
+ if (value == "justify") {
129
+ setJustificationMode(android.text.Layout.JUSTIFICATION_MODE_INTER_WORD);
130
+ } else {
131
+ setJustificationMode(android.text.Layout.JUSTIFICATION_MODE_NONE);
132
+ setGravity(getHorizontalGravity(value) | getVerticalGravity(verticalTextAlignment));
133
+ }
134
+ } else {
135
+ setGravity(getHorizontalGravity(value) | getVerticalGravity(verticalTextAlignment));
136
+ }
137
+ }
138
+
139
+ public void enableAutoSize(int minFontSize, int maxFontSize, int step) {
140
+ TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration(
141
+ this,
142
+ minFontSize,
143
+ maxFontSize,
144
+ step,
145
+ android.util.TypedValue.COMPLEX_UNIT_DIP
146
+ );
147
+ }
148
+
149
+ public void disableAutoSize() {
150
+ TextViewCompat.setAutoSizeTextTypeWithDefaults(
151
+ this,
152
+ TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE
153
+ );
154
+ }
155
+
156
+ public void setLabelTextSize(int unit, float size, int minFontSize ,
157
+ int maxFontSize,
158
+ int step ) {
159
+
160
+ boolean autoFontSizeEnabled = TextViewCompat.getAutoSizeTextType(this) == TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM;
161
+
162
+ // setTextSize is ignored if autoFontSize is enabled
163
+ // so we need to disable autoFontSize just to set textSize
164
+ if (autoFontSizeEnabled) {
165
+ disableAutoSize();
166
+ }
167
+ setTextSize(unit, size);
168
+
169
+ if (autoFontSizeEnabled) {
170
+ enableAutoSize(minFontSize, maxFontSize, step);
171
+ }
172
+ }
173
+
174
+ @Override
175
+ public void setLineHeight(int value) {
176
+ lineHeight = value;
177
+ if (Build.VERSION.SDK_INT >= 28) {
178
+ super.setLineHeight(value);
179
+ } else {
180
+ float fontHeight = getPaint().getFontMetrics(null);
181
+ setLineSpacing(value - fontHeight, 1.0f);
182
+ }
183
+ }
184
+ @Override
185
+ public void setTypeface(Typeface value) {
186
+ super.setTypeface(value);
187
+ if (Build.VERSION.SDK_INT < 28 && lineHeight >= 0) {
188
+ float fontHeight = getPaint().getFontMetrics(null);
189
+ setLineSpacing(lineHeight - fontHeight, 1.0f);
190
+ }
191
+ }
192
+
193
+ public void setTextDecoration(String value) {
194
+ switch (value) {
195
+ case "underline":
196
+ setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);
197
+ break;
198
+ case "line-through":
199
+ setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);
200
+ break;
201
+ case "underline line-through":
202
+ setPaintFlags(
203
+ Paint.UNDERLINE_TEXT_FLAG | Paint.STRIKE_THRU_TEXT_FLAG
204
+ );
205
+ break;
206
+ default:
207
+ setPaintFlags(0);
208
+ break;
209
+ }
210
+ }
211
+
212
+ public void setTextDecoration(int value) {
213
+ setPaintFlags(value);
214
+ }
215
+ private MovementMethod defaultMovementMethod = null;
216
+ public void setTappableState(boolean value) {
217
+ if (value) {
218
+ defaultMovementMethod = getMovementMethod();
219
+ setMovementMethod(android.text.method.LinkMovementMethod.getInstance());
220
+ setHighlightColor(Color.TRANSPARENT);
221
+ } else {
222
+ setMovementMethod(defaultMovementMethod);
223
+ }
224
+ }
225
+ }
@@ -1,19 +1,7 @@
1
1
  {
2
2
  "uses": [
3
- "android.text:Spannable",
4
- "android.text.style:URLSpan",
5
- "android.text.style:ClickableSpan",
6
- "android.text:TextPaint",
7
- "android.text.method:MovementMethod",
8
- "android.text:TextUtils.TruncateAt",
9
- "android.text:Layout",
10
- "android.os:Build",
11
- "android.util:TypedValue",
12
- "android.view:LayoutInflater",
13
- "android.graphics:Paint",
14
- "android.graphics:Paint.FontMetrics",
15
- "android.text:Spanned",
16
- "androidx.core.widget:TextViewCompat"
3
+ "com.nativescript.label:NSLabel",
4
+ "android.text:Spanned"
17
5
  ],
18
6
  "proguard_whitelist": [
19
7
  "org.apache.xerces.jaxp.SAXParserFactoryImpl",
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <android.widget.TextView xmlns:android="http://schemas.android.com/apk/res/android"
2
+ <com.nativescript.label.NSLabel xmlns:android="http://schemas.android.com/apk/res/android"
3
3
  android:layout_width="match_parent"
4
4
  android:layout_height="match_parent">
5
- </android.widget.TextView>
5
+ </com.nativescript.label.NSLabel>