Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.testclickablespan;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.text.SpannableString;
- import android.text.Spanned;
- import android.text.TextPaint;
- import android.text.method.LinkMovementMethod;
- import android.text.style.ClickableSpan;
- import android.view.View;
- import android.widget.TextView;
- import android.widget.Toast;
- import androidx.annotation.NonNull;
- import androidx.appcompat.app.AppCompatActivity;
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- TextView textView = findViewById(R.id.text_view);
- textView.setBackgroundColor(Color.TRANSPARENT);
- SpannableString spanable = new SpannableString("my clickable span");
- ClickableSpan clickableSpan = new ClickableSpan() {
- @Override
- public void onClick(View widget) {
- Toast.makeText(MainActivity.this, "click span", Toast.LENGTH_SHORT).show();
- }
- @Override
- public void updateDrawState(@NonNull TextPaint ds) {
- ds.setUnderlineText(false);
- super.updateDrawState(ds);
- ds.setUnderlineText(false);
- }
- };
- spanable.setSpan(clickableSpan, 13, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- textView.setText(spanable);
- textView.setMovementMethod(LinkMovementMethod.getInstance());
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/colorPrimary">
- <TextView
- android:id="@+id/text_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- />
- </FrameLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement