Android WebView嵌套Html 之一
2012-10-11 12:53
323 查看
A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages and includes methods to navigate forward
and backward through a history, zoom in and out, perform text searches and more.
loadDataWithBaseURL(baseUrl==null/"about:blank",……),baseUrl为null或"about:blank"指定相对路径.
WebView 主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL.
1、LoadUrl 直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif)
2、LoadData 显示文字与图片内容 (模拟器1.5、1.6)
3、LoadDataWithBase 显示文字与图片内容(支持多个模拟器版本)
我的代码:
public class WebViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView webView = new WebView(this);
webView = (WebView) findViewById(R.id.webView);
// 如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webView.getSettings().setJavaScriptEnabled(true);
// 触摸焦点起作用
// requestFocus();//如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
// 取消滚动条
// this.setScrollBarStyle();
// 设置WevView要显示的网页:
// 互联网用:
webView.loadUrl("http://write.blog.csdn.net/postedit");
// 本地文件用:webView.loadUrl("file:///android_asset/XX.html");// 本地文件存放在:assets文件中
webView.setWebViewClient(new webViewClient());
}
//监听器
class webViewClient extends WebViewClient{
/**
* 对网页中超链接按钮的响应
* 当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url
*/
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
}
@Override
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
// TODO Auto-generated method stub
super.onReceivedHttpAuthRequest(view, handler, host, realm);
}
}
}
别人的代码:
public class AboutView extends Activity implements OnTouchListener,
OnClickListener {
private Button btnAbout;
private WebView aboutBrowser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
btnAbout = (Button) this.findViewById(R.id.about_button);
aboutBrowser = (WebView) this.findViewById(R.id.about_webkit);
btnAbout.setOnTouchListener(this);
btnAbout.setOnClickListener(this);
// WebSettings s = aboutBrowser.getSettings();
// s.setUseWideViewPort(true);
// s.setJavaScriptEnabled(true);
// s.setBlockNetworkImage(true);
loadHTML();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
@Override
public void onClick(View v) {
if(v == btnAbout) {
//这里是切换Activity
//注意:每个Activity都要在AndroidManifest.xml中注册
Intent i = new Intent();
i.setClass(AboutView.this, CiHaiView.class);
this.startActivity(i);
AboutView.this.finish();
}
}
public void loadHTML() {
String vStr = getText(R.string.vStr).toString();
String vNum = getText(R.string.vNum).toString();
final String htmlText = "<html>" +
"<head></head>" +
"<body>" +
"<br/>" +
"<table align=\"center\" border=\"0\" cellspacing=\"15\">" +
"<tr align=\"center\"><td><img src=\"file:///android_asset/edict.png\" /></td>" +
"<td>" +
"<b><font size=\"5\">" + vStr +"</font></b><br/>" + vNum +
"</td></tr>" +
"</table>" +
" " +
"</body></html>";
aboutBrowser.loadDataWithBaseURL("about:blank", htmlText, "text/html", "utf-8", null);
}
}
and backward through a history, zoom in and out, perform text searches and more.
loadDataWithBaseURL(baseUrl==null/"about:blank",……),baseUrl为null或"about:blank"指定相对路径.
WebView 主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL.
1、LoadUrl 直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif)
2、LoadData 显示文字与图片内容 (模拟器1.5、1.6)
3、LoadDataWithBase 显示文字与图片内容(支持多个模拟器版本)
我的代码:
public class WebViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView webView = new WebView(this);
webView = (WebView) findViewById(R.id.webView);
// 如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webView.getSettings().setJavaScriptEnabled(true);
// 触摸焦点起作用
// requestFocus();//如果不设置,则在点击网页文本输入框时,不能弹出软键盘及不响应其他的一些事件。
// 取消滚动条
// this.setScrollBarStyle();
// 设置WevView要显示的网页:
// 互联网用:
webView.loadUrl("http://write.blog.csdn.net/postedit");
// 本地文件用:webView.loadUrl("file:///android_asset/XX.html");// 本地文件存放在:assets文件中
webView.setWebViewClient(new webViewClient());
}
//监听器
class webViewClient extends WebViewClient{
/**
* 对网页中超链接按钮的响应
* 当按下某个连接时WebViewClient会调用这个方法,并传递参数:按下的url
*/
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
// TODO Auto-generated method stub
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
// TODO Auto-generated method stub
super.onReceivedError(view, errorCode, description, failingUrl);
}
@Override
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
// TODO Auto-generated method stub
super.onReceivedHttpAuthRequest(view, handler, host, realm);
}
}
}
别人的代码:
public class AboutView extends Activity implements OnTouchListener,
OnClickListener {
private Button btnAbout;
private WebView aboutBrowser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
btnAbout = (Button) this.findViewById(R.id.about_button);
aboutBrowser = (WebView) this.findViewById(R.id.about_webkit);
btnAbout.setOnTouchListener(this);
btnAbout.setOnClickListener(this);
// WebSettings s = aboutBrowser.getSettings();
// s.setUseWideViewPort(true);
// s.setJavaScriptEnabled(true);
// s.setBlockNetworkImage(true);
loadHTML();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
@Override
public void onClick(View v) {
if(v == btnAbout) {
//这里是切换Activity
//注意:每个Activity都要在AndroidManifest.xml中注册
Intent i = new Intent();
i.setClass(AboutView.this, CiHaiView.class);
this.startActivity(i);
AboutView.this.finish();
}
}
public void loadHTML() {
String vStr = getText(R.string.vStr).toString();
String vNum = getText(R.string.vNum).toString();
final String htmlText = "<html>" +
"<head></head>" +
"<body>" +
"<br/>" +
"<table align=\"center\" border=\"0\" cellspacing=\"15\">" +
"<tr align=\"center\"><td><img src=\"file:///android_asset/edict.png\" /></td>" +
"<td>" +
"<b><font size=\"5\">" + vStr +"</font></b><br/>" + vNum +
"</td></tr>" +
"</table>" +
" " +
"</body></html>";
aboutBrowser.loadDataWithBaseURL("about:blank", htmlText, "text/html", "utf-8", null);
}
}
相关文章推荐
- 使用WebView在Android中嵌套html网页
- Android Webview 加载外部html时选择加载本地的js,css等资源文件
- Android WebView 加载HTML代码
- android——webview修改html界面,达到去除或隐藏部分界面的效果
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- Androidwebview加载本地html网页
- android WebView载入本地html及css文件
- android WebView中loadUrl方法显示本地html中的图文
- android WebView 控件加载本地sdcard中html文件图片的问题
- android webview显示html代码出现乱码的问题解决
- Android display local image/CSS files in HTML with WebView
- android webview点击返回键回到上一个html
- Android WebView 获取html iframe内部链接
- android Webview根据网址读取页面和直接读取html的方法
- Android菜鸟学习笔记(WebView加载html页面,页面提交数据问题)
- android webview 正常显示 Html中的 Frameset iframe
- android的WebView加载html内容图片超出屏幕范围
- Android webview加载本地html实现跨域访问
- Android webview嵌入HTML
- Android WebView加载Html右边空白问题的解决方案