import { HtmlViewBase, htmlProperty } from "./html-view-common"; export * from "./html-view-common"; export class HtmlView extends HtmlViewBase { private _android: android.widget.TextView; get android(): android.widget.TextView { return this._android; } public _createNativeView() { this._android = new android.widget.TextView(this._context); // This makes the html work this._android.setLinksClickable(true); this._android.setMovementMethod(android.text.method.LinkMovementMethod.getInstance()); } get [htmlProperty.native](): string { return ""; } set [htmlProperty.native](value: string) { // 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 let mask = 15; if (value.search(/= 0) { mask = 0; } this._android.setAutoLinkMask(mask); this._android.setText(android.text.Html.fromHtml(value)); } }