androidwebview加载图片
A. Android WebView加载缩略图片
可以的,使用ImageGetter中,有个方法重载,去设定一下你要呈现的宽度和高度。
B. android 怎么获取webview中的图片资源bitmap
加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹。
cache里面会保存webview中的图片文件,读的话需要bitmap解析流就可以了。
C. 安卓webView加载多图片时卡顿怎么办
可腾讯手机管家帮助清理
一)打开腾讯手机管家首页,里面使用垃圾清理来清理垃圾;
二)可以点击右上角的手机瘦身进行手机文件深度清理。
这也是一个完整的清理过程,新版本没有了简哪一键清理估计是怕用户一键清理将很多有用的文派饥件都删掉了,所拦羡码以改善了这一方面。
D. Android webview调取安卓原生相机和相册上传图片
适配安卓10方式:
返回URI即可
手机上加载webview,网页上上传图片调用原生相机和相册上传图片
先设置好webview的加载以及websetting,这里就不多说了。
主要是setWebChromeClient方法的实现
这个方法分几个版本的适配3.0以下的设备,3.0到4.1的设备,4.1到5.0的设备,以及5.0以上的设备,每个方法参数不一样适配时请注意。5.0以下的参数都是 ValueCallback<Uri> ,以上的设备需要 ValueCallback<Uri[]> ,回传数据的时候也是对应的不要弄错了。
最后的效果如下:
E. 关于Android中的WebView加载资源的问题
将网页加载到内存,用你们商量好辩贺手的协议,让你能知道所有资源图片地址,然后去本地找图片,拍森如果存在,则替换网页的图片地址为本地,否则不替换
然后显示网页,等网页和自动从网携嫌络获取本地没有的其它图片。
F. android webview第二次加载出现图片变形
由于bitmap容易出错,尤其在图片size超大时,而用webview显册链拦示图片可以用小避免这个麻烦:
private void showLocalImage(){
final String fileName = "image.png";
final WebView webview_evacuation = (WebView) mView.findViewById(R.id.webview_evacuation);
final LinearLayout ly_map = (LinearLayout) mView.findViewById(R.id.ly_map);
File dir = new File("mnt/sdcard/img/");
if(!dir.exists())
{
dir.mkdir();
}
boolean fileExist = PackageUtil.searchFile(fileName,dir);
if(fileExist){
ViewTreeObserver vto2 = ly_map.getViewTreeObserver();
vto2.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
ly_map.getViewTreeObserver().removeGlobalOnLayoutListener(this);
//获取要显示图片的布局宽高
int h = ly_map.getHeight();
int w=ly_map.getWidth();
imageUrl = "file://mnt/sdcard/img/"唤枣+fileName;
String data = "";
webview_evacuation.loadDataWithBaseURL(imageUrl, data, "text/html", "utf-8", null);
//webview_evacuation.loadUrl(imageUrl);//直接显示网上图片
webview_evacuation.getSettings().setBuiltInZoomControls(true); //显示放大缩小 controler
webview_evacuation.getSettings().setSupportZoom(true); //可以缩放州胡
webview_evacuation.setSaveEnabled(true);
}
});
}
}
其中searchFile方法如下:
public boolean searchFile(String keyword,File filepath)
{
Locale defloc = Locale.getDefault();
try {
if(!filepath.exists())
{
filepath.mkdir();
}
//判断SD卡是否存在
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
{
File[] files = filepath.listFiles();
if (files.length > 0)
{
for (File file : files)
{
if (file.isDirectory())
{
//如果目录可读就执行(一定要加,不然会挂掉)
if(file.canRead()){
searchFile(keyword,file); //如果是目录,递归查找
}
}
else {
//判断是文件,则进行文件名判断
try {
if (file.getName().indexOf(keyword) > -1||file.getName().indexOf(keyword.toUpperCase(defloc)) > -1)
{
//存在文件
return true;
}
} catch(Exception e) {
return false;
}
}
}
}
}
} catch (Exception e) {
}
return false;
}
布局很简单:
android:id="@+id/ly_map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:id="@+id/webview_evacuation"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
转自:http://blog.163.com/bella_zeng/blog/static/20386411120139804730733/
G. 手机是android 9.0系统 使用webView加载图片不显示,求解
产生原因原因
主要是由于android9.0以上google做了一个未加密流量访问的限制(不知道是什么鬼)
解决方法如下:
在Android 的mainfest.xml中的application添加一句配置android:usesCleartextTraffic=“true”
<?xml version="1.0" encoding="utf-8"?>
<application
android:usesCleartextTraffic="true">
</application>
</manifest>
H. 个人是做android使用Webview加载H5的时候,网络图片显示不出来,是空白的
是不是你的android工程的编译版本太低了,切换到4.4的试试看。我就遇到过这样的情况,有些webview的方法被禁止了,导致无法显示。
I. android用WebView显示本地网页webview.loadUrl("file:///android_asset/haitian.htm"); 图片显示不出来。
webView显示不了图片,那肯定是html中的图片引入写错了,WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页。
如果显示有问题,建议按以下方式去实现:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.google.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET" />
第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置 WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>