webview系列问题总结
来源:互联网 发布:人工智能电影剧情简介 编辑:程序博客网 时间:2024/05/20 05:08
Android的WebView退出后flash视频播放器无法退出的问题
重写activity的onResume,onPause方法,并调用webview的onResume,onPause方法
@Override
protected void onResume() {
super.onResume();
webView.onResume();
}
@Override
protected void onPause() {
super.onPause();
webView.onPause();
}
webView加载文件或加载地址时出现白板的问题
在Android中,WebView可以用来加载http和https网页到本地应用的控件。但是在默认情况下,通过loadUrl(String url)方法,可以顺利loadUrl(“http://www.baidu.com”)之类的页面。但是,当load通过ssl加密的https页面,但是如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像自带的浏览器一样弹出提示。因此,我们必须针对这种情况进行处理。
首先说的是Android 2.2及更高的处理方式,在2.2及以上系统中处理只需要重载WebViewClient 的 onReceivedSslError即可。
@Overridepublic void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {handler.proceed();//接受所有证书Log.e("SslError",error.toString());}
webview加载网页图片文字不适配等问题
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//样式适配(有些手机不行)
webView.getSettings().setBuiltInZoomControls(true);//触摸放大缩小
webView.getSettings().setSupportZoom(true);//支持缩放
以前做项目一直都没找到好的解决方法,最近同时找到了一个java解析HTML的工具类jsoup ,中文api地址:http://www.open-open.com/jsoup/。
使用方法如下,这里以网页中图片适配为例:
使用TextView显示网页
/**
该方法用于显示文字
*/
private void showHtmlText() {
final String sText = "测试自定义标签:<br><h1><qdq>测试自定义标签</qdq></h1>";
showText.setText(Html.fromHtml(sText, null, new MxgsaTagHandler(this)));
showText.setClickable(true);
showText.setMovementMethod(LinkMovementMethod.getInstance());
}
/**
* 提醒一点:获取图片以后,一定要设置图片的边界,界线
* 即:drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
* 不然获取图片后,Textview不能显示图片。
*/
private void showHtmlImg() {
//加载资源图片,本地图片,网络图片类似,
final String sText1 = "测试图片信息:<img src=\""+R.drawable.ic_launcher+"\" />";
final Html.ImageGetter imageGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
//source就是图片路径
Drawable drawable=null;
int rId=Integer.parseInt(source);
drawable=getResources().getDrawable(rId);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
return drawable;
};
};
showImg.setText(Html.fromHtml(sText1, imageGetter, null));
}
public class MxgsaTagHandler implements TagHandler{
private int sIndex = 0;
private int eIndex=0;
private Context mContext;
public MxgsaTagHandler(Context context){
mContext=context;
}
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
if (tag.toLowerCase().equals("qdq")) {
if (opening) {
sIndex=output.length();
}else {
eIndex=output.length();
output.setSpan(new MxgsaSpan(), sIndex, eIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
private class MxgsaSpan extends ClickableSpan implements OnClickListener{
@Override
public void onClick(View widget) {
//具体代码,可以是跳转页面,可以是弹出对话框,下面是跳转页面
AlertDialog.Builder builder=new AlertDialog.Builder(mContext);
builder.setTitle("呵呵");
builder.setMessage("成功了");
builder.show();
}
}
}
- webview系列问题总结
- Android WebView系列文章4 WebView的问题总结
- webview系列:webview的其他问题
- webview系列:webview的其他问题
- WebView问题总结
- WebView问题总结
- android WebView 问题积累总结
- Android WebView 使用和问题总结
- webview总结
- WebView总结
- webview总结
- webView 总结
- webview总结
- WebView总结
- WebView总结
- WebView总结
- WebView总结
- WebView总结
- union和union all的区别
- 【bzoj1821】【jsoi2010】【部落划分】【贪心+并查集】
- 【unity-lua】笔记(备忘)
- 排序算法简介及其C实现
- OC基础教程6-对象初始化
- webview系列问题总结
- TCP、IP的三次握手和四次挥手解析
- Mac OS X 用户与账号介绍
- cocos2dx中的缓冲动作ActionEase类
- WPF--常见属性Label的隐藏和显示
- Spring--quartz中的cronExpression表达式解释
- Noip 备战篇(三)
- Object...args参数详解
- SQLITE3 使用总结