在TextView中不仅可以设置链接类型,而且可以自定义链接类型和相关操作。原理是自定义ClickableSpan来绘制可点击文本的效果和点击后的处理,然后设置TextView的ClickableSpan为自定义的ClickableSpan即可。
自定义ClickableSpan:
private class CustomizedClickableSpan extends ClickableSpan { String text; public CustomizedClickableSpan(String text) { super(); this.text = text; } @Override public void updateDrawState(TextPaint ds) {// ds.setColor(ds.linkColor); ds.setColor(Color.GREEN);// ds.setUnderlineText(false); ds.setAlpha(50); } @Override public void onClick(View widget) { Toast.makeText(ClipboardTestActivity.this, text, Toast.LENGTH_SHORT).show(); } }
测试代码:
TextView textView03 = (TextView) findViewById(R.id.textView3); String str = "AAAAAAAAAAAAAAA"; SpannableString spStr = new SpannableString(str); ClickableSpan clickSpan = new CustomizedClickableSpan(str); spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); textView03.setText("CCCC"); textView03.append(spStr); textView03.append("BBBB"); textView03.setMovementMethod(LinkMovementMethod.getInstance());
?http://www.daimami.com/android/1172814.html
?