رفتن به مطلب
  • 0

حذف زیرخط از لیبل


امیرحسین قاسمی

سوال

سلام

من به این شکل بخشی از متن یک لیبل رو رنگی و همچنین قابل کلیک میکنم:

#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,"$"))

همه چی به درستی کار میکنه اما پایین متن قابل کلیک شده یه خط ایجاد میشه:

image.png.420d947263835dda6ae60910687984a6.png

 

من چطوری میتونم این زیرخط رو حذف کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

1 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

  • 0

درود

به شکل زیر

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
    }
};

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...