翻翻git之---编译器般高大上的WebView RichEditor (PS:家里两个小祖宗大爆照)
来源:互联网 发布:数据条带化 编辑:程序博客网 时间:2024/04/28 21:45
转载请注明出处:王亟亟的大牛之路
P1 废话:(不想看的同学可以跳到P2)
本周忙有点忙(都是私事),几乎每天都是忙到12点多(昨天是去接当当),今天是周五强行下午抽时间再来一发。
这里再爆下照,我的2个宝贝“孩子”,麦麦和当当(麦麦就是我头像那个,不过刚来他们的别墅我还没画好,也没做 只能委屈当当了)
P2 RichEditor:
今天介绍的是一个“Star”相当高的一个自定义WebView– RichEditor
先贴一下效果图:
如果图片刷不出来,点击这里
样例中作者把带有预设格式的输入框区域的内容的html代码呈现在下方的TextView里。
也就是类似反向实现了你在编译器里敲html/css代码的效果。
HOW to use?
Grade:
repositories { jcenter()}dependencies { compile 'jp.wasabeef:richeditor-android:1.2.0'}
Eclipse的小伙伴就要copy下他的代码和资源内容了。
因为他是native和js的交互肯定会有一些.js的代码以及双方的互相调用,这部分我之前也有写过Demo,可以看这里http://blog.csdn.net/ddwhan0123/article/details/49683799
大致讲一下他是怎么使用的
首先我们还是要获取他的对象 mEditor = (RichEditor) findViewById(R.id.editor);
然后对她进行一系列初始化(这也就是为什么作者提供的例子里横向ScrollView并没有绘色板却字体是红色,他作为控件本身的属性存在,那也就有了我们二次开发的可能,诸如添加个绘色板什么的)
mEditor.setEditorHeight(200); mEditor.setEditorFontSize(22); mEditor.setEditorFontColor(Color.RED); //mEditor.setEditorBackgroundColor(Color.BLUE); //mEditor.setBackgroundColor(Color.BLUE); //mEditor.setBackgroundResource(R.drawable.bg); mEditor.setPadding(10, 10, 10, 10); //mEditor.setBackground("https://raw.githubusercontent.com/wasabeef/art/master/chip.jpg"); mEditor.setPlaceholder("Insert text here...");
还有预设个图片啊,背景色什么的,看你的需求了,反正都是凋js的,也有一些是可以调WebView的一些方法
诸如:
@Override public void setBackgroundColor(int color) { super.setBackgroundColor(color); }
那么,那些html代码是怎么返回给下面的TextView的呢?
做这些了个接口,然后set一下就行了
public interface OnTextChangeListener { void onTextChange(String text); }public void setOnTextChangeListener(OnTextChangeListener listener) { mTextChangeListener = listener; }
像这样 set一下就好了
mEditor.setOnTextChangeListener(new RichEditor.OnTextChangeListener() { @Override public void onTextChange(String text) { mPreview.setText(text); } });
具体的功能什么 H1 h2什么的 还有斜体啊粗体之类的都是
像这样拼接起来然后传到js那头去处理,如果你要有自己的功能,JS那头添加一下,源生这头加一下走通就行了。
exec("javascript:RE.setHeading('" + heading + "');");
作者Git:https://github.com/wasabeef/richeditor-android
例子地址:https://github.com/wasabeef/richeditor-android/archive/master.zip
周末愉快!!
谢谢!!
- 翻翻git之---编译器般高大上的WebView RichEditor (PS:家里两个小祖宗大爆照)
- 小祖宗的产业
- 翻翻git之---史上最强的图片选择器 GalleryFinal(顺带附下麦麦,当当的近照)
- 翻翻git之---溜的飞起的加载效果AVLoadingIndicatorView
- 翻翻git之---RecycleView的上拉,下拉刷新,样式切换,添加foot和header的强大库 RecyclerViewManager
- 翻翻git之---好看的卡片切换库 Swipecards
- 翻翻git之---炫酷的自定义翻滚View TagCloudView
- 翻翻git之---一个丰富的通知工具类 NotifyUtil
- 翻翻git之---闪烁动画的TextView RevealTextView
- 翻翻git之---实用的欢迎页开源库 AppIntro
- 翻翻git之---偏向iOS风格的Switch ToggleSwitch
- 翻翻git之---"有趣效果"的自定义View EasyArcLoading
- 翻翻git之---SharedPreferences好用的封装库 PreferencesManager
- 翻翻git之---实用的进度类自定义控件LoadingDrawable
- 翻翻git之---可以收缩伸展的自定义LinearLayout ExpandableLinearLayout
- 翻翻git之---丰富多样的路由跳转开源库 ARouter
- 高大上的几种交换两个数
- Git高大上的命令 Github提交文件操作
- 使用BlockingQueue实现包饺子( 生产者做面皮,消费者拿面皮包饺子)简单使用
- CView的派生类: CScrollView
- hibernate.hbm2ddl.auto配置详解
- 算法导论22.2-8
- surface_matching
- 翻翻git之---编译器般高大上的WebView RichEditor (PS:家里两个小祖宗大爆照)
- 超人叔叔的礼赠
- 为什么高成熟的实施周期比较长?
- CABasicAnimation Demo
- 为什么自定义ViewGroup ondraw方法不会被调用
- C语言控制结构
- android 标点符号的全角半角转换
- Android开发以备后用
- Android访问网络