<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/webView1" />
</LinearLayout>
方法二、Activity代码:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Webkit;
namespace App1
{
[Activity(Label = "百姓市场", MainLauncher = true, Icon = "@drawable/icon1")]
public class MainActivity : Activity
{
int count = 1;
Android.Webkit.WebView webview;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
//隐藏标题栏(须放在SetContentView函数之前)
this.RequestWindowFeature(WindowFeatures.NoTitle);
//设置全屏
this.Window.SetFlags(WindowManagerFlags.Fullscreen, WindowManagerFlags.Fullscreen);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
Android.Webkit.WebView webview2 = FindViewById<Android.Webkit.WebView>(Resource.Id.webView1);
this.webview = webview2;
webview2.LoadUrl("http://www.bxsc.net");
//加载项目中本地文件夹Assets下的test.html文件
// webview2.LoadUrl("file:///android_asset/test.html");
// webview2.LoadUrl("file:///android_asset/abc/test.html");
//启用脚本
webview2.Settings.JavaScriptEnabled = true;
#region --缩放--
//设置支持缩放(前提是网页自身支持缩放)
webview2.Settings.SetSupportZoom(true);
webview2.Settings.BuiltInZoomControls = true;
//支持任意比例缩放
webview2.Settings.UseWideViewPort = true;
//显示缩放控件(放大/缩小按钮)
webview2.Settings.DisplayZoomControls = false;
//自适应屏幕
// webview2.Settings.SetLayoutAlgorithm(WebSettings.LayoutAlgorithm.SingleColumn);
//webview2.Settings.LoadWithOverviewMode = true;
#endregion
//webview2.ClearCache(true);
//后退
//webview2.GoBack();
//设置Web视图
webview2.SetWebViewClient(new ExtWebViewClient());
}
int sftc = 0;
public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
{
//当按下后退键时,返回WebView上一页面,而不是结束
if (keyCode == Keycode.Back && webview.CanGoBack())
{
webview.GoBack();
return true;
}
else
{
if(sftc == 0)
{
Toast.MakeText(this, "在按一次退出程序", ToastLength.Long).Show();
sftc++;
if(sftc > 1)
{
return base.OnKeyDown(keyCode, e);
}
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = 3000;//执行间隔时间,单位为毫秒
timer.Start();
timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);
return false;
}
else
{
return base.OnKeyDown(keyCode, e);
}
}
}
private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
sftc = 0;
}
}
public class ExtWebViewClient : Android.Webkit.WebViewClient
{
/// <summary>
/// 响应超链接事件,通过改变Load加载方式,
/// 使在WebView控件中的连接在当前视图中打开,而不是新窗口中打开
/// </summary>
/// <param name="view"></param>
/// <param name="url"></param>
/// <returns></returns>
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
//默认
//return base.ShouldOverrideUrlLoading(view, url);
view.LoadUrl(url);
return true;
}
}
}