Javaコードで聞いて、良いのWebViewでレイアウトファイルを定義する唯一の方法は、WebViewの自体がブラウザで、Googleの組み込みのブラウザ、あなたは、直接ページ読み込みのWebViewまた、JavaScriptのスクリプト言語を使用することができますので、
<?xmlのバージョンは、= "1.0"エンコード= "UTF-8"?> <RelativeLayoutのxmlns:アンドロイド= "http://schemas.android.com/apk/res/android" のxmlns:アプリ = "のhttp://スキーマ.android.com / APK / RES-オート" のxmlns:ツール = "http://schemas.android.com/tools" のandroid:layout_width = "match_parent" のandroid:layout_height = "match_parent" ツール:コンテキスト =" MainActivity」。 > < のWebView アンドロイド:ID = "@ + ID / WebViewの" アンドロイド:layout_width = "match_parent" アンドロイド:layout_height = "500dp"> </ WebViewの> </ RelativeLayout>
上記は、レイアウトファイルであります
パブリック クラス MainActivityは延びAppCompatActivity { ;のWebViewのWebViewを @Override 保護された ボイドのonCreate(バンドルsavedInstanceState){ スーパー.onCreate(savedInstanceState)。 setContentView(R.layout.activity_main)。 WebViewの = findViewById(R.id.webView)。 webView.getSettings()setJavaScriptEnabled(真); webView.loadUrl( "https://www.baidu.com/?tn=62095104_19_oem_dg" ); webView.setWebViewClient(新しいWebViewClient(){ @Override 公共 のボイドonPageStarted(WebViewの表示、文字列のURL、ビットマップファビコン){ スーパー.onPageStarted(ビュー、URL、ファビコン)。 System.out.println( "开始加载" ); } @Override 公共 ボイドonPageFinished(WebViewの表示、文字列のURL){ スーパー.onPageFinished(ビュー、URL)。 System.out.println( "结束加载" ); } @Override パブリック ブールshouldOverrideUrlLoading(WebViewのビュー、WebResourceRequestリクエスト){ 戻り スーパー.shouldOverrideUrlLoading(ビュー、要求)。 } }); webView.setWebChromeClient(新しいWebChromeClient(){ @Override 公共 ボイドonReceivedTitle(WebViewの表示、文字列のタイトル){ スーパー.onReceivedTitle(ビュー、タイトル) のSystem.out.println( "显示标题" ); } @Override 公共 ボイドは onProgressChanged( WebViewのビュー、INT newProgress){ スーパー.onProgressChanged(ビュー、newProgress) のSystem.out.println( "显示加载进度" + newProgress + "%" ); } })。 } @Override 公衆 ブールにonKeyDown(int型のkeyCode、KeyEventのイベント){ 場合(のkeyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()){ webView.goBack()。// 点击返回上一页面而不是退出浏览器 返す 真。 } 戻り スーパー.onKeyDown(のkeyCode、イベント)。 } @Overrideは、 保護された ボイド(){onDestroyを 場合(!のWebView = NULL ){ webView.loadDataWithBaseURL(NULL、 ""、 "テキスト/ HTML"、 "UTF-8"、ヌル); webView.clearHistory(); //销毁WebViewの ((のViewGroup)webView.getParent())removeView(WebViewの)。 webView.destroy(); WebViewの = nullを。 } スーパー.onDestroy()。 } }
最後に、権利をネットワークすることを忘れないでください