Добавить контекстное меню в веб-представление просто.Однако по умолчанию меню появляется только при нажатии на ссылку или изображение, но не в обычной текстовой области.
Я нашел это One , предлагая добавить onLongClick к действию,но я попробовал, и это совсем не получилось.
// ---------------------------------------------------------------
РЕДАКТИРОВАТЬ:
Iполучил подсказку по связанному вопросу о том, что я должен создать подкласс веб-просмотра и переопределить некоторые функции.Кажется, у меня работает контекстное меню.Тем не менее, веб-просмотр не ведет себя нормально.В частности, я не могу больше прокручивать вид.Я думаю, я просто что-то пропустил.Ваша помощь очень ценится.Вот мой код:
public class MyWebView extends WebView {
WebViewerActivity _activity;
Context _context;
GestureDetector _gd;
public MyWebView(Context context, AttributeSet attributeSet){
super(context, attributeSet);
this._context = context;
_gd = new GestureDetector(context, sogl);
}
public void setActivity(WebViewerActivity activity){
_activity = activity;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return _gd.onTouchEvent(ev);
}
GestureDetector.SimpleOnGestureListener sogl = new GestureDetector.SimpleOnGestureListener(){
public boolean onDown(MotionEvent event)
{
return true;
}
public void onLongPress(MotionEvent event)
{
_activity.onLongClick(MyWebView.this);
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
MyWebView.this.scrollBy((int)distanceX, (int)distanceY);
return true;
}
};
}
// ---------------------------------------------------------------
БОЛЬШЕ РЕДАКТИРОВАТЬ:
Хорошо, я добавил переопределениеonScroll to SimpleOnGestureListener, как показано выше, и он заставляет работать прокрутку веб-просмотра.Однако первоначальная прокрутка веб-просмотра автоматически возвращается в исходное состояние, если вы прокручиваете его слишком далеко снаружи.Тем не менее, эта прокрутка не имеет этой приятной функции.Есть идеи как это исправить?