最近项目里需要加入富文本编辑,遇到几个问题,所以在此记录下我遇到的(这也是自己的第一篇技术博客,用于总结所学。。菜鸟级选手。。笑脸)
本篇仅用来记录使用中遇到的问题
使用可以参考:https://github.com/wasabeef/richeditor-android
实现原理:加载本地的html文件,在文件中设置contenteditable属性,设置网页可编辑,添加内容时,会将输入的内容追加在最外层的div标签内,demo中实现的加粗,斜体也是通过修改相应的样式实现的。
遇到的问题:
1.设置字体颜色,demo中提供的方法并未实现用户自定义字体颜色,网上招了许多实现方式,最后用了这个
图片:
package com.suncn.ihold.tjj.widget;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
public class ColorPickerDialog extends Dialog {
private final boolean debug = true;
private final String TAG = "ColorPicker";
private Context context;
private String title;// 标题
private int mInitialColor;// 初始颜色
private OnColorChangedListener mListener;
/**
* 初始颜色黑色
*
* @param context
* @param title
* 对话框标题
* @param listener
* 回调
*/
public ColorPickerDialog(Context context, String title, OnColorChangedListener listener) {
this(context, Color.BLACK, title, listener);
}
/**
*
* @param context
* @param initialColor
* 初始颜色
* @param title
* 标题
* @param listener
* 回调
*/
public ColorPickerDialog(Context context, int initialColor, String title, OnColorChangedListener listener) {
super(context);
this.context = context;
mListener = listener;
mInitialColor = initialColor;
this.title = title;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WindowManager manager = getWindow().getWindowManager();
int height = (int) (manager.getDefaultDisplay().getHeight() * 0.5f);
int width = (int) (manager.getDefaultDisplay().getWidth() * 0.7f);
ColorPickerView myView = new ColorPickerView(context, height, width);
setContentView(myView);
setTitle(title);
}
pri