Amir01 612 ارسال شده در 21 خرداد، 2024 اشتراک گذاری ارسال شده در 21 خرداد، 2024 سلام من به این شکل بخشی از متن یک لیبل رو رنگی و همچنین قابل کلیک میکنم: #If java import android.graphics.Color; import android.text.SpannableStringBuilder; import android.text.Spannable; import android.text.style.ClickableSpan; import android.text.style.ForegroundColorSpan; import android.view.View; import android.widget.TextView; import android.widget.Toast; import android.text.method.LinkMovementMethod; public static void makeTextViewClickable(TextView textView, int color, String metaChar) { SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(textView.getText()); String text = textView.getText().toString(); int startIndex = text.indexOf(metaChar) + 1; int endIndex = text.indexOf(metaChar, startIndex); String extractedText = text.substring(startIndex, endIndex); int start = textView.getText().toString().indexOf(extractedText); int end = start + extractedText.length(); ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View widget) { Toast.makeText(widget.getContext(), "کلیک شد", Toast.LENGTH_SHORT).show(); } }; spannableStringBuilder.setSpan(clickableSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); spannableStringBuilder.setSpan(new ForegroundColorSpan(color), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); int index = spannableStringBuilder.toString().indexOf("$"); while (index >= 0) { spannableStringBuilder.replace(index, index + 1, ""); index = spannableStringBuilder.toString().indexOf("$", index); } textView.setText(spannableStringBuilder); textView.setMovementMethod(LinkMovementMethod.getInstance()); textView.setHighlightColor(Color.TRANSPARENT); } #End If از تابع بالا به این شکل استفاده میکنم: Dim jo As JavaObject jo.InitializeContext jo.RunMethod("makeTextViewClickable",Array(Label10,Colors.Red,"$")) همه چی به درستی کار میکنه اما پایین متن قابل کلیک شده یه خط ایجاد میشه: من چطوری میتونم این زیرخط رو حذف کنم؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمدرضا شاهپیری 5,623 ارسال شده در 23 خرداد، 2024 اشتراک گذاری ارسال شده در 23 خرداد، 2024 درود به شکل زیر ClickableSpan clickSpan = new ClickableSpan() { @Override public void updateDrawState(TextPaint ds) { ds.setUnderlineText(false); // this remove the underline } @Override public void onClick(View textView) { // handle click event } }; لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
Amir01 612
سلام
من به این شکل بخشی از متن یک لیبل رو رنگی و همچنین قابل کلیک میکنم:
از تابع بالا به این شکل استفاده میکنم:
همه چی به درستی کار میکنه اما پایین متن قابل کلیک شده یه خط ایجاد میشه:
من چطوری میتونم این زیرخط رو حذف کنم؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.