У меня есть FrameLayout, и я создал внутри него веб-просмотр, который загружает некоторый URL.и я добавляю веб-просмотр как дочерний элемент к FrameLayout.Я реализую метод onTouch в веб-просмотре, но кажется, что только разметка кадра обнаруживает прикосновения. вот как выглядит мой экран .Оранжевая область должна обнаруживать касания в веб-просмотре, а синяя область должна обнаруживать касания в FrameLayout.
вот мой код:
this.post(new Runnable() {
@SuppressLint({"SetJavaScriptEnabled", "ClickableViewAccessibility"})
@Override
public void run() {
try {
if (webView == null) {
webView = new WebView(context) {
@Override
public boolean onTouchEvent(MotionEvent event) {
return true;
}
};
// resize webView
LayoutParams layoutParams=new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.setMargins(50, 50, 50, 100);
webView.setLayoutParams(layoutParams);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.setBackgroundColor(Color.TRANSPARENT);
}
current_url = webView.getUrl();
webView.setVisibility(View.VISIBLE);
if ( current_url == null || !overlay_url.contentEquals(current_url)) {
webView.loadUrl(overlay_url);
webView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return true;
}
});
current_url = overlay_url;
}
if (indexOfChild(webView) == -1) {
addView(webView, 2);
}
} catch (Exception exc) {
Log.e(TAG, "exception in WebView", exc);
}
}