テキスト段落内にネストされたClickableスパンを作成するNativescriptアプリ(Android)があります。目標は緑の色でスパンを表示し、クリックすると別の場所にリダイレクトされます。ここに私のコードは次のとおりです。Nativescript Androidでクリック可能なスパンカラー
var color = '#3aba90';
if (textview.android) {
\t \t var ss = new android.text.SpannableString(text);
\t \t var ClickableSpanClass = android.text.style.ClickableSpan.extend({
\t \t \t onClick: function (view) {
\t \t \t \t func.redirectToSite(true);
\t \t \t },
\t \t \t updateDrawState: function (tp) {
\t \t \t \t this.super.updateDrawState(tp);
\t \t \t \t tp.setColor(color);
\t \t \t \t tp.setUnderlineText(false);
\t \t \t }
\t \t });
\t \t var clickablespan = new ClickableSpanClass();
\t \t ss.setSpan(clickablespan, 356, 386, 33);
\t \t textview.android.setText(ss);
\t \t textview.android.setMovementMethod(android.text.method.LinkMovementMethod.getInstance());
}
私が経験しています問題は、スパンは、私が選択した緑の色でレンダリングしないということです。私も0x3aba90ff、緑、およびその他の色のバリエーションを試しましたが、正しい色でレンダリングすることはできません。
私が間違っていることは何ですか?
ありがとうございます。
AndroidとiOSの両方を完全に実装したいと思っている皆様:https://github.com/NickIliev/NativeScript-Issues-2017/tree/master/others/clickableSpanIOSAndroid –
Nikolay、あなたの例に1つのメモ。 iOSの実装では、「ホットゾーン」テキストの色を変更していますが、ユーザーのタップには反応しません。これらのゾーンに定義されているリンクはありません。 – dpdragnev