Comments (6)
@huclengyue
我个人目前的想法是通过解析HTML然后在根据相应的标签调用不同控件实现(想法),不知道还有没有更好的方案。
是的 是这个思路。我理解你说的控件 就是 Span.
(这个跟另外一个issue重复了)我计划是在做完这一版本之后(网络图片、标题、分割线)之后的下一版本就会考虑再次编辑的功能了。
我有一点点这方面的经验,只是最近工作较忙,更新较慢,不过请放心,我会持续加入更多功能(这几年一直在被这个富文本折腾了。。)。欢迎持续关注。
谢谢提出意见。
from android-rich-text-editor.
有机会可以讨论一下,最近刚好需要项目需要富文本,看了几个stat多的都是webview实现的,也改了很多JS代码,但是总差强人意
from android-rich-text-editor.
(是我不会用GitHub还是他有bug?昨天晚上我确实看到有一个新消息的通知,但我打开之后发现issue#10里面没有新的评论就没在意,今天才看到这个issue#14, 刚才看到邮箱里的邮件才知道你昨晚就发了评论在issue#10里面).
@huclengyue 随时欢迎讨论。正如你的那个评论说的,就是用XML解析html代码,安卓已经有相关的一部分基础实现在Html.java类里面,遇到不同的标签往SpannableString里面添加不同的span就可以显示了。相对来说显示要简单一些,再次编辑比初次编辑考虑的情况要更多一点不过,初次编辑是基础,再次编辑就是要把数据准备成跟初次编辑一样的格式放进来即可。
我也看过webview的实现,一直感觉他们做的很棒,因为我没有特别深入研究不太了解webview实现的富文本编辑器的痛点或弊端在哪。
开发这个ARE也是想按自己的想法实现一些东西,跟我们项目上使用的方式还是有点区别,不过我们项目上的有显示也有再次编辑,如你所说,差强人意,所以。。。我弄了这么个小玩意儿。
来来来,一起完善加强。
from android-rich-text-editor.
String html = "<html><body><p><b>aaaa</b></p><p><i>bbbb</i></p>\n" +
" <p><u>cccc</u></p>\n" +
" <p><span style=\"text-decoration:line-through;\">dddd</span></p>\n" +
" <p style=\"text-align:start;\">Alignleft</p>\n" +
" <p style=\"text-align:center;\">Align center</p>\n" +
" <p style=\"text-align:end;\">Align right</p>\n" +
" <p style=\"text-align:start;\">Align left</p>\n" +
" <p style=\"text-align:start;\">Hello left<span style=\"background-color:#FFFF00;\"> good?</span> yes</p>\n" +
" <p style=\"text-align:start;\">Text color <span style=\"color:#FF5722;\">red </span><span style=\"color:#4CAF50;\">green </span><span style=\"color:#2196F3;\">blue </span><span style=\"color:#9C27B0;\">purple</span><span style=\"color:#000000;\"> normal black</span></p>\n" +
" <br>\n" +
" <p style=\"text-align:start;\">Click to open <a href=\"http://www.qq.com\">QQ</a> website</p>\n" +
" <br><br>\n" +
" <blockquote><p style=\"text-align:start;\">Quote</p>\n" +
" <p style=\"text-align:start;\">Quote 2nd line</p>\n" +
" <br>\n" +
" </blockquote>\n" +
" <br><br>\n" +
" <p style=\"text-align:start;\">2X<sub>1</sub><sup>2 </sup>+3X<sub>1</sub><sup>2</sup>=5X<sub>1</sub><sup>2</sup></p>\n" +
" <br>\n" +
" <br>\n" +
" <p style=\"text-align:start;\"><hr /> </p>\n" +
" <p style=\"text-align:start;\">Text <span style=\"font-size:32px\";>SIZE </span><span style=\"font-size:18px\";><span style=\"font-size:21px\";>normal</span></span></p>\n" +
" <br>\n" +
" <p style=\"text-align:center;\"><img src=\"emoji|" + R.drawable.wx_d_8 + "\"></p>\n" +
" <p style=\"text-align:start;\">Image:</p>\n" +
" <p style=\"text-align:start;\"><img src=\"http://d.hiphotos.baidu.com/image/pic/item/6159252dd42a2834171827b357b5c9ea14cebfcf.jpg\" /></p>\n" +
" <p style=\"text-align:start;\"></p>\n" +
" <p><a href=\"#\" ukey=\"2131230814\" uname=\"Steve Jobs\" style=\"color:#FF00FF;\">@Steve Jobs</a>, <a href=\"#\" ukey=\"2131230815\" uname=\"Bill Gates\" style=\"color:#0000FF;\">@Bill Gates</a>, how are you?</p>" +
" <p style=\"text-align:start;\"><emoji src=\"2131230915\" /><emoji src=\"2131230936\" /><emoji src=\"2131230929\" /></p>" +
" <ul>" +
" <li>aa</li>" +
" <li>bb</li>\n" +
" <li>dd</li>\n" +
" <li>eea</li>\n" +
" </ul>" +
" <ol>\n" +
" <li>ddasdf</li>\n" +
" <li>sdf</li>\n" +
" <li>cc</li>\n" +
" </ol>" +
" <p style=\"text-align:center;\"><video src=\"http://www.xx.com/x.mp4\" uri=\"/storage/emulated/0/Download/wx_camera_1519181163870 (1).mp4\" controls=\"controls\"></video></p>" +
" <p style=\"text-align:start;\"><img src=\"http://a.hiphotos.baidu.com/image/h%3D300/sign=13dc7fee3512b31bd86ccb29b6193674/730e0cf3d7ca7bcb6a172486b2096b63f624a82f.jpg\" /></p>" +
" </body></html>";
this.arEditor.fromHtml(html);
已提交到master,关闭问题了啊。
from android-rich-text-editor.
。。。我项目刚开发完。为什么你就开发好了。写了一堆的js。勉强维护了一个web版的富文本- -
from android-rich-text-editor.
@huclengyue 太不好意思了。。业余时间有限 没能太快开发 (下次再更慢一点吧。。)我接下来准备给视频 、 图片 、 超链接 、 @功能 加上点击事件。
还是欢迎持续关注,更希望您能加入来开发啊。。
from android-rich-text-editor.
Related Issues (20)
- 大佬 求支援
- Images are not showing in saved file
- sContext 内存泄露
- How to implement undo/redo? Is there any way to insert audio? HOT 1
- 学习使用,项目中不能用 HOT 3
- RTL support HOT 3
- how to get event when a user clicks on an element?
- 怎么清空里面的内容
- How to chance/add more color to color picker? HOT 1
- Library state HOT 1
- 可以插入音频吗 HOT 1
- Cannot found class HOT 2
- 兼容BASE64图片内容
- with hilt, throws RuntimeException: Unable to start activity ComponentInfo{} HOT 1
- Add checkboxes/to-do list HOT 1
- 建议用做学习,bug还是蛮多的 HOT 1
- RTE with porguard laggy
- Missing proguard rules
- How to change the active color of the buttons
- How to change the size of image in the AREditText
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-rich-text-editor.