Guest User

Untitled

a guest
May 26th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.67 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(true); // webSettings.setDisplayZoomControls(true)で, ズームコントロールを表示にする.
  43. webSettings.setSupportZoom(false); // webSettings.setSupportZoom(false)とする.
  44.  
  45. }
  46.  
  47. // メニューが作成された時.
  48. @Override
  49. public boolean onCreateOptionsMenu(Menu menu){
  50.  
  51. // メニューの作成
  52. getMenuInflater().inflate(R.menu.main, menu); // getMenuInflaterでMenuItemを取得し, そのままinflateで指定されたR.menu.mainを元にmenuを作成.
  53. return true; // trueを返す.
  54.  
  55. }
  56.  
  57. // メニューが選択された時.
  58. @Override
  59. public boolean onOptionsItemSelected(MenuItem item){
  60.  
  61. // どのメニューが選択されたか.
  62. switch (item.getItemId()){ // アイテムIDごとに振り分け.
  63.  
  64. // GoBack
  65. case R.id.menu_goback:
  66.  
  67. // GoBackブロック
  68. {
  69.  
  70. // 戻れるなら戻る, 戻れなかったら"戻れません!"と表示.
  71. if (webView.canGoBack()){ // canGoBackで前に戻れるかチェック.
  72.  
  73. // 1つ前のページに戻る.
  74. webView.goBack(); // webView.goBackで1つ前のページに戻る.
  75.  
  76. }
  77. else{
  78.  
  79. // バックキーの既定の動作.
  80. super.onBackPressed(); // 既定の動作.(このActivityを閉じる.)
  81.  
  82. }
  83.  
  84. }
  85.  
  86. break;
  87.  
  88. // ZoomIn
  89. case R.id.menu_zoomin:
  90.  
  91. // ZoomInブロック
  92. {
  93.  
  94. // ズームインする.
  95. webView.zoomIn(); // webView.zoomInでズームインする.
  96.  
  97. }
  98.  
  99. break;
  100.  
  101. // ZoomOut
  102. case R.id.menu_zoomout:
  103.  
  104. // ZoomOutブロック
  105. {
  106.  
  107. // ズームアウトする.
  108. webView.zoomOut(); // webView.zoomOutでズームアウトする.
  109.  
  110. }
  111.  
  112. break;
  113.  
  114. }
  115.  
  116. return super.onOptionsItemSelected(item); // 親クラス既定処理
  117.  
  118. }
  119.  
  120. // バックキーが押された時.
  121. @Override
  122. public void onBackPressed(){
  123.  
  124. // WebViewが戻れるなら戻す.
  125. if (webView.canGoBack()){ // trueなら
  126. webView.goBack(); // webViewを1つ前のページに戻す.
  127. }
  128. else{ // falseなら.
  129. super.onBackPressed(); // 既定の動作.(このActivityを閉じる.)
  130. }
  131.  
  132. }
  133.  
  134. // View.OnClickListenerインタフェースのオーバーライドメソッドを実装.
  135. public void onClick(View v){ // onClickをオーバーライド.
  136.  
  137. // ボタンのidをごとに処理を振り分ける.
  138. switch (v.getId()) { // v.getIdでView(Button)のidを取得.
  139.  
  140. case R.id.loadbutton: // R.id.loadbuttonの時.
  141.  
  142. // navigateButtonブロック
  143. {
  144.  
  145. // urlBarのurlを取得.
  146. EditText urlBar = (EditText)findViewById(R.id.urlbar); // urlBarを取得.
  147. String url = urlBar.getText().toString(); // urlBar.getText().toString()でurlを取得.
  148.  
  149. // webViewでurlのサイトを表示.
  150. webView.loadUrl(url); // webView.loadUrlでurlのサイトを表示.
  151.  
  152. // 抜ける.
  153. break; // breakで抜ける.
  154.  
  155. }
  156.  
  157. }
  158.  
  159. }
  160.  
  161. }
Add Comment
Please, Sign In to add comment