diff --git a/ui/html-view/html-view.android.ts b/ui/html-view/html-view.android.ts index fdca0da27..8ac93fe1f 100644 --- a/ui/html-view/html-view.android.ts +++ b/ui/html-view/html-view.android.ts @@ -10,6 +10,14 @@ function onHtmlPropertyChanged(data: dependencyObservable.PropertyChangeData) { } if (types.isString(data.newValue)) { + // If the data.newValue actually has a in it; we need to disable autolink mask + // it internally disables the coloring, but then the links won't work.. So to support both + // styles of links (html and just text based) we have to manually enable/disable the autolink mask + var mask = 15; + if (data.newValue.search(/= 0) { + mask = 0; + } + view.android.setAutoLinkMask(mask); view.android.setText(android.text.Html.fromHtml(data.newValue)); } else { view.android.setText(""); @@ -30,5 +38,10 @@ export class HtmlView extends common.HtmlView { public _createUI() { this._android = new android.widget.TextView(this._context); + // This makes the html vwork + this._android.setLinksClickable(true); + this._android.setMovementMethod(android.text.method.LinkMovementMethod.getInstance()); + } + } \ No newline at end of file diff --git a/ui/html-view/html-view.ios.ts b/ui/html-view/html-view.ios.ts index 79001ff2d..ba42724e3 100644 --- a/ui/html-view/html-view.ios.ts +++ b/ui/html-view/html-view.ios.ts @@ -27,21 +27,24 @@ function onHtmlPropertyChanged(data: dependencyObservable.PropertyChangeData) { global.moduleMerge(common, exports); export class HtmlView extends common.HtmlView { - private _ios: UILabel; + private _ios: UITextView; constructor(options?: definition.Options) { super(options); + this._ios = UITextView.new(); - this._ios = new UILabel(); - this._ios.userInteractionEnabled = true; - this._ios.numberOfLines = 0; + this._ios.scrollEnabled = false; + this._ios.editable = false; + this._ios.selectable = true; + this._ios.userInteractionEnabled = true; + this._ios.dataDetectorTypes = UIDataDetectorTypes.UIDataDetectorTypeAll; } - get ios(): UILabel { + get ios(): UITextView { return this._ios; } - get _nativeView(): UILabel { + get _nativeView(): UITextView { return this._ios; }