Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

希望能够加入再次编辑功能 #14

Closed
appdev opened this issue May 8, 2018 · 6 comments
Closed

希望能够加入再次编辑功能 #14

appdev opened this issue May 8, 2018 · 6 comments

Comments

@appdev
Copy link

appdev commented May 8, 2018

作为富文本编辑器,肯定需要有对文本进行二次展示和编辑的需求,目前虽然能够通过edittext简单展示,但是基本上不能再次编辑,希望可以加入这个功能。
我个人目前的想法是通过解析HTML然后在根据相应的标签调用不同控件实现(想法),不知道还有没有更好的方案。
富文本编辑器看了好多都是基于webview实现的。还有不少需要选中文本才能实现更改样式,这个非常不错,希望能够保持更新。

@chinalwb
Copy link
Owner

chinalwb commented May 9, 2018

@huclengyue

我个人目前的想法是通过解析HTML然后在根据相应的标签调用不同控件实现(想法),不知道还有没有更好的方案。

是的 是这个思路。我理解你说的控件 就是 Span.

(这个跟另外一个issue重复了)我计划是在做完这一版本之后(网络图片、标题、分割线)之后的下一版本就会考虑再次编辑的功能了。
我有一点点这方面的经验,只是最近工作较忙,更新较慢,不过请放心,我会持续加入更多功能(这几年一直在被这个富文本折腾了。。)。欢迎持续关注。
谢谢提出意见。

@appdev
Copy link
Author

appdev commented May 9, 2018

有机会可以讨论一下,最近刚好需要项目需要富文本,看了几个stat多的都是webview实现的,也改了很多JS代码,但是总差强人意

@chinalwb
Copy link
Owner

chinalwb commented May 9, 2018

(是我不会用GitHub还是他有bug?昨天晚上我确实看到有一个新消息的通知,但我打开之后发现issue#10里面没有新的评论就没在意,今天才看到这个issue#14, 刚才看到邮箱里的邮件才知道你昨晚就发了评论在issue#10里面).
@huclengyue 随时欢迎讨论。正如你的那个评论说的,就是用XML解析html代码,安卓已经有相关的一部分基础实现在Html.java类里面,遇到不同的标签往SpannableString里面添加不同的span就可以显示了。相对来说显示要简单一些,再次编辑比初次编辑考虑的情况要更多一点不过,初次编辑是基础,再次编辑就是要把数据准备成跟初次编辑一样的格式放进来即可。

我也看过webview的实现,一直感觉他们做的很棒,因为我没有特别深入研究不太了解webview实现的富文本编辑器的痛点或弊端在哪。

开发这个ARE也是想按自己的想法实现一些东西,跟我们项目上使用的方式还是有点区别,不过我们项目上的有显示也有再次编辑,如你所说,差强人意,所以。。。我弄了这么个小玩意儿。

来来来,一起完善加强。

@chinalwb
Copy link
Owner

chinalwb commented Jun 2, 2018

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,关闭问题了啊。

@chinalwb chinalwb closed this as completed Jun 2, 2018
@appdev
Copy link
Author

appdev commented Jun 4, 2018

。。。我项目刚开发完。为什么你就开发好了。写了一堆的js。勉强维护了一个web版的富文本- -

@chinalwb
Copy link
Owner

chinalwb commented Jun 4, 2018

@huclengyue 太不好意思了。。业余时间有限 没能太快开发 (下次再更慢一点吧。。)我接下来准备给视频 、 图片 、 超链接 、 @功能 加上点击事件。

还是欢迎持续关注,更希望您能加入来开发啊。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants