2

アプリの webview に 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;  
            }     
        }); 

ただし、OS バージョン 2.3 未満では動作しません。これらのバージョンでもこれを行うにはどうすればよいですか.助けてください.私はこれで立ち往生しています..

4

1 に答える 1

2

webview 内の edittext クリックで動作する以下のコード:

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 に答える