1.TextView点击产生链接效果。
需要在xml里设置sutoLink=“all”属性,然后实例化调用setMovementMethod(MovementMethod);官方文档说必须要先调用 setFocusable(boolean)使textview获得焦点才行?参数是LinkMovementMethod调用getInstance()方法获得的实例。这里文档没有详细说明。
2.TextView跑马灯效果。
ellipsize设置成跑马灯,marqueeRepeatLimit是循环次数,底下两个focusable不设置不会显示跑马灯效果。
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:focusable="true" android:focusableInTouchMode="true"/>
3.TextView点击跳转activity效果。
参数text是TextView产生效果的内容,activity是要跳转的activity。SpannableString类具有分解String效果,把文档上的解释联合起来应该是先用setSpan (Object what, int start, int end, int flags)将参数what转换成一个CharSequence,再将这个CharSequence添加点击事件。start和end是转化文本的index,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE我查了下好像是文本范围的设置。调用此函数后将返回值传到setText(SpannableString)的参数就就可产生想要的效果。
SpannableString getSpannableString(String text, final Class activity) { SpannableString spannableString = new SpannableString(text); spannableString.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { Intent intent = new Intent(context, activity); context.startActivity(intent); } }, 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); return spannableString; }