第一次写博客有点小激动,写的肯定不好,忘大家多多斧正。
先上一张微博发表微博并@好友后删除@的好友的图片,当时我就震惊了,好厉害(不要在意我关注的人)
接下来就是我仿照的了(千万别使用模拟器,不知道为什么键盘没用,怎么按都没用,昨天在模拟器上浪费了好多时间)
这里我没有写获取关注和粉丝的接口,所以自己手写了一个要@的人。
还和微博有很大的差距,但是我会慢慢改的,接下来上代码。
(关于@好友的文字变色大家可以看看http://www.cnblogs.com/lichenwei/p/4676214.html这篇博客,当然不看也没关系,不影响这边的逻辑)
链接: https://pan.baidu.com/s/1sl5D3oL 密码: cxrj DEMO地址edit.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) {//这里我们对edit进行按键监听 if (keyCode == KeyEvent.KEYCODE_DEL && event.getAction() == KeyEvent.ACTION_DOWN) {//判断是否为按下并且是键盘的删除键 String s = edit.getText().toString();//获取edit的内容 int length = s.length();//获取文本的长度 int select = edit.getSelectionEnd();//获取我们选择的位置 if(length > 0 && select != 0){//判断文本长度是否大于0并且判断光标位置是否为0 if(" ".equals(s.substring(select-1, select))) {//判断光标所处的位置的前一个是否是空格 String reg=".*@.*"; if(s.substring(0, select).matches(reg)){//判断光标所处的位置到开头还有没有@符号 int i = s.substring(0, select).lastIndexOf("@");//有的话获取到最后一个@符号的位置 String reg2=".* .*"; if(!s.substring(i, select-1).matches(reg2)){//判断字符串中@符号位置到光标所处位置是否含有空格 edit.setSelection(i, select);//有的话就选中,说明这一段是@的人了 return true;//返回true,不返回的话会立马删除 } } } select = edit.getSelectionStart();//获取光标位置 } } return false; } });xxxxx@要呼叫的好友 xxxx(首先判断空格,然后判断空格前的@符号)
完