package?com.example.mr18_xzvon.myapplication;
import?android.app.ProgressDialog;
import?android.content.Intent;
import?android.net.Uri;
import?android.os.Bundle;
import?android.support.design.widget.FloatingActionButton;
import?android.support.design.widget.Snackbar;
import?android.support.v7.app.AppCompatActivity;
import?android.support.v7.widget.Toolbar;
import?android.util.Log;
import?android.view.KeyEvent;
import?android.view.View;
import?android.view.Menu;
import?android.view.MenuItem;
import?android.webkit.WebChromeClient;
import?android.webkit.WebSettings;
import?android.webkit.WebView;
import?android.webkit.WebViewClient;
import?android.widget.Toast;
public?class?MainActivity?extends?AppCompatActivity?{
????private?String?url="http://idcbgp.cn/course/list";
????private?WebView?webView;
????private?ProgressDialog?dialog?=?new?ProgressDialog(MainActivity.this);
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.web);
????????//Uri?uri=Uri.parse(url);
????????//Intent?intent=new?Intent(Intent.ACTION_VIEW,uri);
????????//startActivity(intent);
????????init();
????}
????private?void?init()?{
????????webView=?(WebView)?findViewById(R.id.webView);
????????webView.loadUrl("http://idcbgp.cn/course/list");
????????//覆蓋WebView默認(rèn)通過第三方或者是瀏覽器打開網(wǎng)頁的行為,使得網(wǎng)頁可以在WebView中打開
????????webView.setWebViewClient(new?WebViewClient(){
????????????public?boolean?shouldOerridUrloading(WebView?view,String?url){
????????????????//返回值是true的時候控制網(wǎng)頁在WebView中去打開,如果為false調(diào)用系統(tǒng)瀏覽器或者第三方瀏覽器打開
????????????????view.loadUrl(url);
????????????????return?true;
????????????}
????????????//WebViewClient幫助WebView去處理一些頁面控制和請求通知
????????});
????????//啟用支持Javascript
????????WebSettings?settings=webView.getSettings();
????????settings.setJavaScriptEnabled(true);
????????webView.setWebChromeClient(new?WebChromeClient(){
????????????public??void?noProgressChanged(WebView?view,int?newProgress){
????????????????//newProgress?1-100之間的整數(shù)
????????????????if(newProgress==100){
????????????????????//網(wǎng)頁加載完畢,關(guān)閉ProgressDialog
???????????????????closeDialog();
????????????????}else{
????????????????????//網(wǎng)頁正在加載,打開ProgressDialog
???????????????????openDialog(newProgress);
????????????????}
????????????}
????????????private?void?openDialog(int?newProgress)?{
????????????????if?(dialog==null){
????????????????????dialog=new?ProgressDialog(MainActivity.this);
????????????????????dialog.setTitle("正在加載");
????????????????????dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
????????????????????dialog.setProgress(newProgress);
????????????????????dialog.show();
????????????????}
????????????????else{
????????????????????dialog.setProgress(newProgress);
????????????????}
????????????}
????????????private?void?closeDialog()?{
????????????????if(dialog!=null&&dialog.isShowing()){
????????????????????dialog.dismiss();
????????????????????dialog=null;
????????????????}
????????????}
????????});
????}
????//改寫物理按鍵--返回的邏輯
????public?boolean?onKeyDown(int?keyCode,KeyEvent?event){
????????if(keyCode==KeyEvent.KEYCODE_BACK){
????????????if(webView.canGoBack()){
????????????????Toast.makeText(this,webView.getUrl(),Toast.LENGTH_SHORT).show();
????????????????webView.goBack();//返回上一頁面
????????????????return?true;
????????????}
????????????else
????????????{
????????????????System.exit(0);
????????????}
????????}
????????return?super.onKeyDown(keyCode,event);
????}
}
- 0 回答
- 0 關(guān)注
- 1443 瀏覽
添加回答
舉報
0/150
提交
取消