{"id":13644478,"url":"https://github.com/CarGuo/GSYRickText","last_synced_at":"2025-04-21T10:33:26.455Z","repository":{"id":107563453,"uuid":"73381327","full_name":"CarGuo/GSYRickText","owner":"CarGuo","description":"类似微博的emoji表情、@人、话题等的EdiText，优化了编辑框中的光标点击和删除处理。TextView支持emoji表情、话题、链接、电话和@某人特殊显示的文本。","archived":false,"fork":false,"pushed_at":"2024-10-16T08:38:42.000Z","size":3147,"stargazers_count":715,"open_issues_count":13,"forks_count":103,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-12T03:45:09.868Z","etag":null,"topics":["android","edittext","emoji","kotlin","sina","span","textview"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CarGuo.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY_README.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-10T12:48:23.000Z","updated_at":"2025-01-04T04:14:31.000Z","dependencies_parsed_at":"2025-04-05T00:03:13.201Z","dependency_job_id":"78a8456b-8ebb-4c29-a58e-d5d49fa8aab3","html_url":"https://github.com/CarGuo/GSYRickText","commit_stats":null,"previous_names":["carguo/ricktext"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarGuo%2FGSYRickText","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarGuo%2FGSYRickText/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarGuo%2FGSYRickText/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CarGuo%2FGSYRickText/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CarGuo","download_url":"https://codeload.github.com/CarGuo/GSYRickText/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250040461,"owners_count":21365109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","edittext","emoji","kotlin","sina","span","textview"],"created_at":"2024-08-02T01:02:05.694Z","updated_at":"2025-04-21T10:33:24.589Z","avatar_url":"https://github.com/CarGuo.png","language":"Java","readme":"\n\n![](https://github.com/CarGuo/RickText/blob/master/Logo.png)\n\n鸿蒙第三方迁移版本：https://gitee.com/ts_ohos/richtext_ohos\n\n\n## 支持类似微博的文本效果，表情、@某人、话题、url链接等。DEMO同时演示了MVVM模式的使用。\n\n状态 | 功能\n-------- | ---\n**支持**|**表情**\n**支持**|**#话题**\n**支持**|**@某人**\n**支持**|**url与数字（可配置）**\n**支持**|**点击效果**\n**支持**|**自定义span效果**\n**支持**|**表情、#话题与@某人编辑时整块删除**\n**支持**|**表情、#话题与@某人编辑时选择复制限制整块选择。**\n**支持**|**表情大小设置、居中显示**\n**支持**|**MVVM（DataBing）。**\n**支持**|**kotlin(demo与lib)**\n\n\n----------------------------------\n\n[![](https://jitpack.io/v/CarGuo/RickText.svg)](https://jitpack.io/#CarGuo/RickText)\n[![Build Status](https://travis-ci.org/CarGuo/RickText.svg?branch=master)](https://travis-ci.org/CarGuo/RickText)\n\n## 依赖方式\n\n### 在project下的build.gradle添加\n```\nallprojects {\n\trepositories {\n\t\t...\n\t\tmaven { url 'https://jitpack.io' }\n\t}\n}\n```\n\n### 在module下的build.gradle添加\n\n```\ndependencies {\n    compile 'com.github.CarGuo.RickText:textUtilsLib:v2.1.5'\n}\n\n```\n\n### kotlin版本的依赖\n```\ndependencies {\n    compile 'com.github.CarGuo.RickText:textUtilsLib-kotlin:v2.1.5'\n}\n```\n\n----------------------------------\n\n## DEMO效果图\n\n\u003cimg src=\"https://github.com/CarGuo/RickText/blob/master/1.png\" width=\"240px\" height=\"426px\"/\u003e\n\n\n### [旧版简书解析](http://www.jianshu.com/p/cd9e197a5c04)\n\n### [旧版README](https://github.com/CarGuo/RickText/blob/master/OLD_README.md)\n\n### QQ群，有兴趣的可以进来，群里视频项目的人居多，平时多吹水吐槽：174815284 。\n\n![公众号](http://img.cdn.guoshuyu.cn/WeChat-Code)\n\n----------------------------------\n\n## 使用方式参考demo\n\n### 1、文本模式\n\n#### 1.1、RichTextView\n```\nrichTextView = (RichTextView) findViewById(R.id.rich_text_2);\n//直接使用RichTextView\nrichTextView.setAtColor(Color.RED);\nrichTextView.setTopicColor(Color.BLUE);\nrichTextView.setLinkColor(Color.YELLOW);\nrichTextView.setNeedNumberShow(true);\nrichTextView.setNeedUrlShow(true);\nrichTextView.setSpanAtUserCallBackListener(spanAtUserCallBack);\nrichTextView.setSpanTopicCallBackListener(spanTopicCallBack);\nrichTextView.setSpanUrlCallBackListener(spanUrlCallBack);\n//所有配置完成后才设置text\nrichTextView.setRichText(content, nameList, topicModels);\n```\n\n#### 1.2、普通TextView\n\n```\n//url点击回调\nSpanUrlCallBack spanUrlCallBack = new SpanUrlCallBack() {\n    @Override\n    public void phone(String phone) {\n        Toast.makeText(MainActivity.this, phone + \" 被点击了\", Toast.LENGTH_SHORT).show();\n        richText.setHighlightColor(Color.TRANSPARENT);\n    }\n\n    @Override\n    public void url(String url) {\n        Toast.makeText(MainActivity.this, url + \" 被点击了\", Toast.LENGTH_SHORT).show();\n        richText.setHighlightColor(Color.TRANSPARENT);\n    }\n};\n\n//@点击回调\nSpanAtUserCallBack spanAtUserCallBack = new SpanAtUserCallBack() {\n    @Override\n    public void onClick(UserModel userModel1) {\n        Toast.makeText(MainActivity.this, userModel1.getUser_name() + \" 被点击了\", Toast.LENGTH_SHORT).show();\n        richText.setHighlightColor(Color.TRANSPARENT);\n    }\n};\n\n//话题点击回调\nSpanTopicCallBack spanTopicCallBack = new SpanTopicCallBack() {\n    @Override\n    public void onClick(TopicModel topicModel) {\n        Toast.makeText(MainActivity.this, topicModel.getTopicName() + \" 被点击了\", Toast.LENGTH_SHORT).show();\n        richText.setHighlightColor(Color.TRANSPARENT);\n    }\n};\n\n//配置TextView显示文本\nRichTextBuilder richTextBuilder = new RichTextBuilder(this);\nrichTextBuilder.setContent(content)\n        .setAtColor(Color.RED)\n        .setLinkColor(Color.BLUE)\n        .setTopicColor(Color.YELLOW)\n        .setListUser(nameList)\n        .setListTopic(topicModels)\n        .setTextView(richText)\n        .setSpanAtUserCallBack(spanAtUserCallBack)\n        .setSpanUrlCallBack(spanUrlCallBack)\n        .setSpanTopicCallBack(spanTopicCallBack)\n        .build();\n\n```\n\n### 2、编辑模式（RichEditText）\n\n```\nrichEditText = (RichEditText) findViewById(R.id.emoji_edit_text);\nemojiLayout.setEditTextSmile(richEditText);\nRichEditBuilder richEditBuilder = new RichEditBuilder();\nrichEditBuilder.setEditText(richEditText)\n        .setTopicModels(topicModels)\n        .setUserModels(nameList)\n        .setColorAtUser(\"#FF00C0\")\n        .setColorTopic(\"#F0F0C0\")\n        .setEditTextAtUtilJumpListener(new OnEditTextUtilJumpListener() {\n            @Override\n            public void notifyAt() {\n                JumpUtil.goToUserList(MainActivity.this, MainActivity.REQUEST_USER_CODE_INPUT);\n            }\n\n            @Override\n            public void notifyTopic() {\n                JumpUtil.goToTopicList(MainActivity.this, MainActivity.REQUEST_TOPIC_CODE_INPUT);\n            }\n        })\n        .builder();\n```\n\n----------------------------------\n\n## 版本更新\n\n#### v2.1.5 （2018-01-23）\n* 修复了ellipsize问题\n\n#### v2.1.4 （2017-12-05）\n* 修复了一个特殊场景下让人🥚疼的问题。\n* 修复某些情况下删除按键导致的问题\n\n#### v2.1.2 （2017-10-20）\n* 优化一些问题\n* 增加kotlin lib 与 kotlin demo\n\n#### v2.1.1 （2017-09-19）\n* 增加表情居中功能的支持。\n\n#### v2.1.0 （2017-09-17）\n* 修复了@和#输入存在的问题。\n\n\n### [历史版本](https://github.com/CarGuo/RickText/blob/master/HISTORY_README.md)\n\n\n## License\n\n```\nMIT\n```\n","funding_links":[],"categories":["TextView"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCarGuo%2FGSYRickText","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCarGuo%2FGSYRickText","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCarGuo%2FGSYRickText/lists"}