2

我在我的应用程序的 web 视图中显示网页。我只想在用户单击/触摸 webview 内的编辑文本时启用屏幕方向。我尝试了下面的代码。

 mWebView.setOnTouchListener(new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            WebView.HitTestResult hr = ((WebView)v).getHitTestResult();
            if(hr!=null){
            if(hr.getType()==HitTestResult.EDIT_TEXT_TYPE)
                ((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

            else
                ((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            return false;  
            }     
        }); 

但它不适用于 2.3 以下的操作系统版本。我怎么能在这些版本中做到这一点。请帮助我。我坚持这个..

4

1 回答 1

2

下面的代码适用于edittext点击webview内:

WebView web_view = (WebView) subview
                    .findViewById(R.id.webview_mytagdetail_text);

web_view.setWebViewClient(new WebViewClient() {
                public boolean shouldOverrideUrlLoading(WebView view, String url) {

                    Intent in = new Intent(getActivity(), URL_SCREEN.class);
                    in.putExtra("URL", url);
                    startActivity(in);

                    return true;

                }
            });

            web_view.getSettings().setJavaScriptEnabled(true);
            web_view.getSettings().setLoadWithOverviewMode(true);
            web_view.getSettings().setBuiltInZoomControls(true);
            web_view.getSettings().setDisplayZoomControls(false);

            web_view.loadDataWithBaseURL("", campaignClass.getCampaignDesc(),
                    "text/html", "UTF-8", "");
于 2015-11-03T11:00:32.327 回答