天天看點

spannable超連結(點選文字跳轉)

    public class MainActivity extends AppCompatActivity {

    private TextView tv;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        tv = findViewById(R.id.tv);

        String str ="有問題可以百度一下,百度不出來再找小姐姐安慰啊";

        //使用Sapnnable處理内容(SpannableString,SpannableStringBuilder)

        Spannable span = new SpannableString(str);

        //局部添加點選效果

        ClickableSpan clickableSpan = new ClickableSpan() {

            @Override

            public void onClick(View view) {

                Toast.makeText(MainActivity.this,"點選了",Toast.LENGTH_SHORT).show();

            }

//文本畫筆

            @Override

            public void updateDrawState(TextPaint ds) {

                ds.setColor(Color.BLUE);

                ds.setFakeBoldText(true);

                ds.setUnderlineText(true);

            }

        };

        span.setSpan(clickableSpan,5,9, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

        //顯示文本

        tv.setText(span,TextView.BufferType.SPANNABLE);

        tv.setMovementMethod(LinkMovementMethod.getInstance());

    }

}