امیرحسین قاسمی 610 ارسال شده در 2 فروردین اشتراک گذاری ارسال شده در 2 فروردین سلام من به این شکل بخشی از متن یک لیبل رو رنگی و همچنین قابل کلیک میکنم: #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,553 ارسال شده در 4 فروردین اشتراک گذاری ارسال شده در 4 فروردین درود به شکل زیر 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 } }; لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
امیرحسین قاسمی 610
سلام
من به این شکل بخشی از متن یک لیبل رو رنگی و همچنین قابل کلیک میکنم:
از تابع بالا به این شکل استفاده میکنم:
همه چی به درستی کار میکنه اما پایین متن قابل کلیک شده یه خط ایجاد میشه:
من چطوری میتونم این زیرخط رو حذف کنم؟
لینک ارسال
به اشتراک گذاری در سایت های دیگر
1 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.