Guest User

Untitled

a guest
May 25th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.09 KB | None | 0 0
  1. package com.bgstation0.android.sample.websettings_;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.MenuItem;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.webkit.WebSettings;
  10. import android.webkit.WebView;
  11. import android.widget.Button;
  12. import android.widget.EditText;
  13. import android.widget.Toast;
  14.  
  15. public class MainActivity extends Activity implements OnClickListener{ // View.OnClickListenerを実装.
  16.  
  17. // メンバフィールドの定義
  18. public WebView webView; // WebViewオブジェクトwebView
  19. public CustomWebViewClient customWVC; // CustomWebViewClientオブジェクトcustomWVC
  20. public CustomWebChromeClient customWCC; // CustomWebChromeClientオブジェクトcustomWCC
  21. public WebSettings webSettings; // WebSettingsオブジェクトwebSettings
  22.  
  23. @Override
  24. protected void onCreate(Bundle savedInstanceState) {
  25. super.onCreate(savedInstanceState);
  26. setContentView(R.layout.activity_main);
  27.  
  28. // loadbuttonを取得し, OnClickListenerとして自身をセット.
  29. Button loadButton = (Button)findViewById(R.id.loadbutton); // loadButtonを取得.
  30. loadButton.setOnClickListener(this); // loadButton.setOnClickListenerでthisをセット.
  31.  
  32. // WebViewの初期設定.
  33. webView = (WebView)findViewById(R.id.webview); // webViewを取得.
  34. customWVC = new CustomWebViewClient(this); // CustomWebViewClientオブジェクトcustomWVCを作成.
  35. webView.setWebViewClient(customWVC); // webView.setWebViewClientでcustomWVCをセット.
  36. customWCC = new CustomWebChromeClient(this); // CustomWebChromeClientオブジェクトcustomWCCを作成.
  37. webView.setWebChromeClient(customWCC); // webView.setWebChromeClientでcustomWCCをセット.
  38. webSettings = webView.getSettings(); // webView.getSettingsでwebSettingsを取得.
  39. webSettings.setJavaScriptEnabled(true); // webSettings.setJavaScriptEnabledでJavaScriptを有効にする.
  40. webSettings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"); // webSettings.setUserAgentStringでWindows版Chromeのユーザエージェントをセット.
  41. webSettings.setBuiltInZoomControls(true); // webSettings.setBuiltInZoomControls(true)で, 組み込みズーム機能(ピンチジェスチャー, ズームコントロール)を有効にする.
  42. webSettings.setDisplayZoomControls(false); // webSettings.setDisplayZoomControls(false)で, ズームコントロールを非表示にする.
  43.  
  44. }
  45.  
  46. // メニューが作成された時.
  47. @Override
  48. public boolean onCreateOptionsMenu(Menu menu){
  49.  
  50. // メニューの作成
  51. getMenuInflater().inflate(R.menu.main, menu); // getMenuInflaterでMenuItemを取得し, そのままinflateで指定されたR.menu.mainを元にmenuを作成.
  52. return true; // trueを返す.
  53.  
  54. }
  55.  
  56. // メニューが選択された時.
  57. @Override
  58. public boolean onOptionsItemSelected(MenuItem item){
  59.  
  60. // どのメニューが選択されたか.
  61. switch (item.getItemId()){ // アイテムIDごとに振り分け.
  62.  
  63. // GoBack
  64. case R.id.menu_goback:
  65.  
  66. // GoBackブロック
  67. {
  68.  
  69. // 戻れるなら戻る, 戻れなかったら"戻れません!"と表示.
  70. if (webView.canGoBack()){ // canGoBackで前に戻れるかチェック.
  71.  
  72. // 1つ前のページに戻る.
  73. webView.goBack(); // webView.goBackで1つ前のページに戻る.
  74.  
  75. }
  76. else{
  77.  
  78. // バックキーの既定の動作.
  79. super.onBackPressed(); // 既定の動作.(このActivityを閉じる.)
  80.  
  81. }
  82.  
  83. }
  84.  
  85. break;
  86.  
  87. }
  88.  
  89. return super.onOptionsItemSelected(item); // 親クラス既定処理
  90.  
  91. }
  92.  
  93. // バックキーが押された時.
  94. @Override
  95. public void onBackPressed(){
  96.  
  97. // WebViewが戻れるなら戻す.
  98. if (webView.canGoBack()){ // trueなら
  99. webView.goBack(); // webViewを1つ前のページに戻す.
  100. }
  101. else{ // falseなら.
  102. super.onBackPressed(); // 既定の動作.(このActivityを閉じる.)
  103. }
  104.  
  105. }
  106.  
  107. // View.OnClickListenerインタフェースのオーバーライドメソッドを実装.
  108. public void onClick(View v){ // onClickをオーバーライド.
  109.  
  110. // ボタンのidをごとに処理を振り分ける.
  111. switch (v.getId()) { // v.getIdでView(Button)のidを取得.
  112.  
  113. case R.id.loadbutton: // R.id.loadbuttonの時.
  114.  
  115. // navigateButtonブロック
  116. {
  117.  
  118. // urlBarのurlを取得.
  119. EditText urlBar = (EditText)findViewById(R.id.urlbar); // urlBarを取得.
  120. String url = urlBar.getText().toString(); // urlBar.getText().toString()でurlを取得.
  121.  
  122. // webViewでurlのサイトを表示.
  123. webView.loadUrl(url); // webView.loadUrlでurlのサイトを表示.
  124.  
  125. // 抜ける.
  126. break; // breakで抜ける.
  127.  
  128. }
  129.  
  130. }
  131.  
  132. }
  133.  
  134. }
Add Comment
Please, Sign In to add comment