package com.example.webviewdemo;
import android.support.v7.app.ActionBarActivity;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.Toast;
import android.annotation.SuppressLint;
import android.os.Bundle;
public class MainActivity extends ActionBarActivity {
private WebView webview;
private ProgressBar pb;
private EditText edt;
private ImageButton refresh;
private ImageButton go;
private String url;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
@SuppressLint("SetJavaScriptEnabled")
private void init() {
// TODO Auto-generated method stub
//进度条绑定视图,并设置进度条的最大值
pb = (ProgressBar) findViewById(R.id.pb);
pb.setMax(100);
//EditText绑定视图
edt=(EditText) findViewById(R.id.edt);
url=edt.getText().toString();
//imageButton绑定视图
//刷新按钮
refresh=(ImageButton) findViewById(R.id.refresh);
refresh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
webview.loadUrl(webview.getUrl());
Toast.makeText(MainActivity.this, "刷新", Toast.LENGTH_SHORT).show();
}
});
//跳转按钮
go=(ImageButton) findViewById(R.id.go);
go.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
webview.loadUrl(url);
Toast.makeText(MainActivity.this, "跳转", Toast.LENGTH_SHORT).show();
}
});
//绑定WebView视图
webview=(WebView) findViewById(R.id.webview);
//WebView加载web资源,同时也可以加载本地资源,将写好的HTML文件放在assets文件夹下,然后调用即可
// webview.loadUrl(url);
webview.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
if (newProgress == 100) {
pb.setVisibility(View.GONE);
} else {
// if (View.INVISIBLE == pb.getVisibility()) {
pb.setVisibility(View.VISIBLE);
// }
pb.setProgress(newProgress);
}
super.onProgressChanged(view, newProgress);
}
});
//覆盖WebView默认从第三方浏览器打开网页的行为,直接从WebView中打开网页
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(edt.getText().toString());
return true;
}
//WebViewClient帮助WebView去处理一些网页控制和请求
});
//设置启用javaScript
WebSettings websetting=webview.getSettings();
websetting.setJavaScriptEnabled(true);
websetting.setSupportZoom(true);
websetting.setUseWideViewPort(true);
websetting.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
//设置点击返回键返回上一个页面
@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);
}
}
xml代码:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
android:id="@+id/pb"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="8dip"
android:indeterminateOnly="false"
android:max="100"
android:progressDrawable="@drawable/progress_bar_states"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dip"
android:orientation="horizontal"
android:background="@drawable/title_bg">
<EditText
android:id="@+id/edt"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_weight="3"
android:textColor="#000"
android:hint="@string/edittext"/>
android:id="@+id/refresh"
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:background="@drawable/refresh"
android:contentDescription="@null"
/>
android:id="@+id/go"
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_weight="1"
android:background="@drawable/go"
android:contentDescription="@null"
/>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webview" />
功能是在输入框中输入网址,然后点击跳转会跳转到指定网页,不知道为什么网页就是加载不出来,百度了半天没个结果。。。求解答