Android仿微博实现添加话题的输入框

  由于项目需求,需要实现一个类似于微博的可以添加话题的编辑框,实现发布帖子时可以添加话题,并且话题要变色 可选中 可删除等.起初为了快速实现,就在网上找了以下,有人已经实现了此功能,这里给出参考帖子的链接Android 自定义view-仿新浪微博#话题#插入EditText

  不过测试的时候发现有些许bug,并且在华为手机上删除话题不能被选中,于是就基于参考帖子的实现思路,对其中一些东西进行了修改,并适配了华为(原因是通过 KeyCode==KeyEvent.KEYCODE_DEL竟然监听不到华为个别机型的删除键)手机.

实现思路

1.通过onSelectionChanged()监听光标的位置,来判断光标是否被选中在话题文字内部,如果在话题内部,则将光标定位到话题结束处.

2.添加addTextChangedListener(),监听文字变化.如果是删除文字动作,则遍历TEditText内部的list,判断是否有话题,如果有并且删除的是话题,则对话题进行选中.最后,刷新TEditText的UI展示.

UI效果

如图1是添加话题的效果


Android仿微博实现添加话题的输入框_第1张图片
图1

图2是话题被选中的效果


Android仿微博实现添加话题的输入框_第2张图片
图2

使用方式

源码和TEditText使用访问我

你可能感兴趣的:(Android仿微博实现添加话题的输入框)