Android 模仿新浪微博“@”功能
项目中有个部分需要模仿新浪微博的@功能:
- 输入@符号之后进入好友列表
- 点击某个人,返回这个人的信息,并以@xxx的格式显示在 EditText 中
- @部分需要变色
- 删除的时候需要把“@xxx”整体直接删除
基于以上几点要求,我有个想法:
通过InputFilter判断用户输入,当有“@”符号输入时,跳转到好友列表页,返回用户信息之后,把文字转换成bitmap,用SpannableString 做实现后面的功能
下面上主要代码
这里是把文字转化成bitmap
private Bitmap getNameBitmap(String name) {
/* 把@相关的字符串转换成bitmap 然后使用DynamicDrawableSpan加入输入框中 */
name = "" + name;
Paint paint = new Paint();
paint.setColor(getResources().getColor(R