提问人:Talha Büyükakkaşlar 提问时间:3/20/2014 最后编辑:Talha Büyükakkaşlar 更新时间:1/12/2021 访问量:2611
未看到 SVG 标记图像 Android 网页视图
SVG tag image not seen Android webview
问:
我正在使用 Android 在我的应用程序中显示 XHTML 文件
对于显示图像,我正在使用函数,但是当我尝试使用下面的代码时WebView
shouldInterceptRequest
<svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 1478 2544" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
<image width="1478" height="2544" xlink:href="../Images/Antropoloji_Kapak_on_renk.jpg"></image>
</svg>
shouldInterceptRequest
未调用方法,无法显示图像
IAM支持所有版本的Android 4+
我无法更改内容。 我应该准确地展示我所给予的
-编辑-
事实证明,当我给出小于屏幕的图像尺寸时,它会显示它
但即使它比屏幕尺寸大,我仍然想展示它
答:
0赞
zed13
3/25/2014
#1
我使用以下html页面来显示您的svg:
<html>
<head>
<title>SVG Test</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" height="100%"
preserveAspectRatio="xMidYMid meet" version="1.1"
viewBox="0 0 3288 2188" width="100%"
xmlns:xlink="http://www.w3.org/1999/xlink">
<image width="3288" height="2188"
xlink:href="file:///android_asset/image.jpg"></image>
</svg>
</body>
</html>
要将嵌入的图像显示到 svg 中,您应该使用带前缀的路径。如果要从其他位置嵌入图像,则使用assets文件夹,则还应使用前缀。file:///android_asset/
file:///
评论
0赞
Talha Büyükakkaşlar
3/25/2014
我无法更改内容。我应该准确地展示我所给予的
0赞
zed13
3/25/2014
svg 中的主要错误是您使用相对文件路径而不是绝对路径。只需使用 file:///android_asset/image.jpg 即可。事实上,您需要在 svg 的 href attr 中使用 uri。
0赞
Danil Onyanov
3/27/2014
#2
你的意思是你不能改变服务器的响应吗?
在这种情况下,你可以用必要的和<svg>
<html>
<body>
试试这个:
String svgContent = ... // Your code of svg here
String pageContent = "<html><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width'></head><body>" + svgContent + "</body></html>";
webview.loadData(pageContent, "text/html", "utf-8");
评论
0赞
Talha Büyükakkaşlar
3/27/2014
你真的认为它不在HTML页面中吗?
上一个:如何防止 XHTML 文件被编辑
下一个:XHTML 和视口标记
评论