Android编程 - WebView控件基本使用方法
Android编程 - WebView控件基本使用方法
最近集中在看《Android程序设计》(北航出版社)的图形用户接口的相关章节,主要针对自己比较喜欢的UI领域关注一下Android的GUI基础知识。
WebView控件提供了一个内嵌的浏览器试图,用于显示本地的html或网路上的网页。
第一步//main.xml
- <WebView
- android:id="@+id/html"
- android:layout_width="fill_parent"
- android:layout_height="280px"
- />
第二步.//主类.java
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- WebView web = (WebView) findViewById(R.id.html);
- web.getSettings().setJavaScriptEnabled(true);//用于支持JavaScript
- web.loadUrl("http://www.baidu.com");//访问外部网址
第三步.//AndroidManifest.xml
若无此行许可,则访问外部网址时,将显示网页找不到,同理在写Socket通信的程序时也需要用到本许可
- </application>
- <uses-permission android:name="android.permission.INTERNET"/>
普通WebView控件默认显示的浏览器视图并无网页加载进度条或通告,在点击第一个页面的超链接后,系统会调用自身浏览器进程进行下一步网络访问,这很不符合我们的编程和使用习惯,以下方法重写可以自行定制其操作。
- // 此方法可以处理webview 在加载时和加载完成时一些操作
- web.setWebChromeClient(new WebChromeClient() {
- @Override
- public void onProgressChanged(WebView view, int newProgress) {
- if (newProgress == 100) { // 这里是设置activity的标题,
- // 也可以根据自己的需求做一些其他的操作
- setTitle("加载完成");
- } else {
- setTitle("加载中.......");
- }
- }
- });
- web.setWebViewClient(new WebViewClient() {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) { // 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边
- view.loadUrl(url);
- return true;
- }
评论暂时关闭