zoukankan      html  css  js  c++  java
  • Android之webView入门

    WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用。

    webview有两个方法:setWebChromeClient 和 setWebClient
    setWebClient:主要处理解析,渲染网页等浏览器做的事情
    setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
    WebViewClient就是帮助WebView处理各种通知、请求事件的。
    在AndroidManifest.xml设置访问网络权限:
    “`

    控件:
     ```
    <WebView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/webView"
        /> 

    用途一:加载本地/Web资源

    实例

    public class MainActivity extends Activity {
    
        private EditText et_address=null;
        private WebView webview=null;
        private ProgressDialog pd=null;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            et_address=(EditText) findViewById(R.id.ed_address);
            webview=(WebView) findViewById(R.id.webview);
            pd=new ProgressDialog(this);
            pd.setMessage("正在加载");
    
            WebSettings setting=webview.getSettings();
            setting.setSupportZoom(true);
            setting.setBuiltInZoomControls(true);
            webview.setWebViewClient(new WebViewClient()
            {
    
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon) {
                    // TODO Auto-generated method stub
                    pd.show();
                }
    
                @Override
                public void onPageFinished(WebView view, String url) {
                    // TODO Auto-generated method stub
                    pd.dismiss();
                }
    
            }
            );
    
        }
    
    
        public void click(View view)
        {
            String address=et_address.getText().toString().trim();
    
            if(TextUtils.isEmpty(address))
            {
                address="http://192.168.247.1:8080";
            }
    
            webview.loadUrl(address);
        }
    
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
    
            if(keyCode==KeyEvent.KEYCODE_BACK&&webview.canGoBack())
            {
                webview.goBack();
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // TODO Auto-generated method stub
    
            menu.addSubMenu(0, 0, 0, "刷新");
            menu.addSubMenu(0, 0, 1, "后退");
            menu.addSubMenu(0, 0, 2, "前进");
    
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // TODO Auto-generated method stub
    
            switch (item.getOrder()) {
            case 0:
                webview.reload();
                break;
            case 1:
                if(webview.canGoBack())
                {
                    webview.goBack();
                }else
                {
                    Toast.makeText(getApplicationContext(), "已经到第一页了", 0).show();
                }
                break;
            case 2:
                if(webview.canGoForward())
                {
                    webview.goForward();
                }else
                {
                    Toast.makeText(getApplicationContext(), "已经是最后一页了", 0).show();
                }
                break;
    
            default:
                break;
            }
            return super.onOptionsItemSelected(item);
        }
    }

    参考链接:webView的使用以及总结
    http://www.360doc.com/content/14/0611/13/15210553_385676271.shtml

  • 相关阅读:
    安装依赖包
    python之高阶函数编程
    ubuntu之安装java浏览器插件
    python之函数式编程
    openstack第1天
    mysql null 相关bug
    nginx 【转】
    python mock
    查看docker 内各个容器的ip
    python sqlparse 各种 token
  • 原文地址:https://www.cnblogs.com/jjx2013/p/6223731.html
Copyright © 2011-2022 走看看