Вы можете поместить WebView под Canvas некоторого вида, который позволяет пользователю рисовать на нем прикосновением внутри RelativeLayout. Чтобы проиллюстрировать это, вот пример, взятый из проекта API Demos внутри действия FingerPaint.
Я немного изменил это действие, чтобы отобразить WebView за MyView. И я изменил код, чтобы фон MyView имел альфа 00 (сделать его невидимым). Таким образом, пользователю кажется, что они рисуют «сверху» страницы браузера.
Если у вас его еще нет, возьмите копию проекта API Demos и откройте файл FingerPaint.java, он находится под графикой. Как только вы откроете это окно, отредактируйте метод onCreate (), чтобы он выглядел так:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RelativeLayout rl = new RelativeLayout(this);
WebView wv = new WebView(this);
rl.addView(wv);
rl.addView(new MyView(this));
setContentView(rl);
wv.loadUrl("http://google.com");
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setColor(0xFFFF0000);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.ROUND);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setStrokeWidth(12);
mEmboss = new EmbossMaskFilter(new float[] { 1, 1, 1 },0.4f, 6, 3.5f);
mBlur = new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL);
}
Затем найдите метод onDraw () класса MyView. Внутри меняем первую строку с:
canvas.drawColor(0xFFAAAAAA);
до:
canvas.drawColor(0x00AAAAAA);
Запустите приложение и щелкните по графике-> FingerPaint. Если все идет хорошо, у вас должна быть домашняя страница Google, на которой вы можете рисовать.