在登录注册页面经常可以看到“找回密码” 这种带响应功能的文本,这是如何实现的呢?
在android开发官网找了好久没啥线索,在网上随便一搜就找到了...
其实TextView除了最基本的显示文本外还有很多效果可以设置,比如字体大小,颜色,下划线,超文本链接等。
总体思路:
1. 有一个TextView对象;
2. 创建一个SpannableString对象;
3. 调用SpannableString 的setSpan方法设置效果,在这里传入具体的效果对象;
4. 调用TextView.setText() 传入SpannableString对象;
5. 如果要实现响应,还需要调用 TextView.setMovementMethod(LinkMovementMethod.getInstance());
各种效果详细的使用方法可参考这里
类似登录注册页面中找回密码文本响应实现:
TextView textView = (TextView) findViewById(R.id.textview);
String str = “找回密码”;
SpannableString sp = new SpannableString(str);
sp.setSpan(new ClickableSpan(){
@Override
public void onClick(View widget)
{
//执行响应事件
}
}, 0, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(sp);
textView.setMovementMethod(LinkMovementMethod.getInstance());
是不是很简单?
更多信息可参考这里