Ich habe eine Nativescript-App (Android), wo ich eine anklickbare Spanne erstellen, die in einem Textabsatz verschachtelt ist. Das Ziel besteht darin, die Spannweite in einer grünen Farbe anzuzeigen und wenn Sie darauf klicken, um sie an einen anderen Ort umzuleiten. Hier ist mein Code:Nativescript Klickbare Spannenfarbe in 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());
}
Das Problem, das ich erlebt habe ist, dass die Spanne nicht in der grünen Farbe rendert die ich ausgewählt hat. Ich habe auch 0x3aba90ff, grün und andere Variationen der Farbvariablen versucht, aber ich kann es nicht in der richtigen Farbe rendern lassen.
Irgendeine Idee, was ich falsch mache?
Vielen Dank.
Für alle, die sich in der vollständigen Umsetzung für Android und iOS: https://github.com/NickIliev/NativeScript-Issues-2017/tree/master/others/clickableSpanIOSAndroid –
Nikolay, eine Note auf Ihrem Beispiel. In der iOS-Implementierung ändern Sie die Farben des "Hot Zone" -Textes, aber er reagiert nicht auf Benutzer-Taps. Für diese Zonen sind keine Links definiert. – dpdragnev