加载含有图片的html,图片大小问题!急!

u010178674 2014-02-28 10:26:01
现在获得了String类型的html字符串(有图片链接和一些文字),用WebView的loadDataWithBaseURL方法显示在android模拟器上,但是图片太大了,而文字和屏幕吻合,
如何设置图片尺寸适应屏幕?求大神指点,想了2天了!
...全文
653 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
triplesky001 2014-03-05
  • 打赏
  • 举报
回复
靠,我才看见,我居然给你拷错了,就是9楼的方法。
u010178674 2014-03-04
  • 打赏
  • 举报
回复
引用 8 楼 lulong1985 的回复:
给你个简单点的办法,webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);就可以搞定你的问题。
这是设置缓存模式吧,多谢,受用了!
u010178674 2014-03-04
  • 打赏
  • 举报
回复
引用 9 楼 cclovescw 的回复:
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 这个方法可以控制图片宽度不超过屏幕
非常感谢,正解啊,真是简单方便啊!
triplesky001 2014-03-03
  • 打赏
  • 举报
回复
给你个简单点的办法,webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);就可以搞定你的问题。
ns_235 2014-03-03
  • 打赏
  • 举报
回复
你这个问题你需要跟后面配合调用JS 你写一个JS给后台传屏幕SIZE 让他在另一个JS里处理图片大小问题 而且 这个联调需要时间 没法做到一下就全适配的
  • 打赏
  • 举报
回复
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 这个方法可以控制图片宽度不超过屏幕
u010178674 2014-03-01
  • 打赏
  • 举报
回复
引用 1 楼 u011081622 的回复:
按比例调整显示不可以吗
用WebView就直接显示出来了,怎么调整,获得不了图片对象。
kenny_hwei 2014-03-01
  • 打赏
  • 举报
回复
按比例调整显示不可以吗
u010178674 2014-03-01
  • 打赏
  • 举报
回复
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myWebView = (WebView) findViewById(R.id.webview); StringBuilder sb = new StringBuilder(); sb.append("<html>"); sb.append("<head>"); sb.append("<title>hello world</title>"); sb.append("</head>"); sb.append("<body>"); String str = "\r\n\t    <img alt=\"\" src=\"http://i1.sinaimg.cn/ty/nba/idx/2014/0228/U7835P6T1280D1F37792DT20140228113314.jpg\" /><span style=\"font-family: 宋体\">:</span></p>\r\n<p>\r\n\t<span style=\"font-family: 宋体\">   凡预订8</span><span style=\"font-family: 宋体\">月</span>1<span style=\"font-family: 宋体\">号至8月31</span><span style=\"font-family: 宋体\">号期间酒店豪华套间,即可享受优惠:</span></p>\r\n<p>\r\n\t<span style=\"font-family: 宋体\">    </span>980<span style=\"font-family: 宋体\">元</span>/<span style=\"font-family: 宋体\">晚,含单份自助早餐,可享受行政楼层待遇,免费健身房</span><span style=\"font-family: 宋体\">,游泳池以及假日特饮欢迎券一张。</span></p>\r\n<p style=\"text-indent: 27px\">\r\n\t<span style=\"font-family: 宋体\">注:此价格为单日优惠价不可与其它优惠同时享受</span></p>\r\n<p style=\"text-indent: 27px\">\r\n\t <span style=\"font-family: 宋体\">预订电话:</span>010-64376688-2927</p>\r\n<p style=\"text-indent: 27px\">\r\n\t </p>\r\n<p>\r\n\t <span style=\"display: none\"> </span></p>\r\n"; sb.append(str); sb.append("</body>"); sb.append("</html>"); myWebView.loadDataWithBaseURL(null, sb.toString(),"text/html","utf-8",null); } main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout> 在模拟器上看图片好大,不知道怎么处理···
u010178674 2014-03-01
  • 打赏
  • 举报
回复
引用 3 楼 hjywyj 的回复:
加载时获得手机屏幕的width和height,然后执行javascript,设置img的 maxwidth 和 maxheight
设置img的 maxwidth 和 maxheight 貌似要得到ImageView对象,可是用WebView没有在layout里设对象啊,我把代码贴出来,你看看哈!
  • 打赏
  • 举报
回复
加载时获得手机屏幕的width和height,然后执行javascript,设置img的 maxwidth 和 maxheight
u010178674 2014-03-01
  • 打赏
  • 举报
回复
没人接分吗?

80,348

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧