【问题标题】:How To Load Text In Webview Android? [duplicate]如何在 Webview Android 中加载文本? [复制]
【发布时间】:2026-01-21 20:45:01
【问题描述】:

我想在文本中显示 html,但无法加载图像。将文本保存在资产文件夹图像中的 html 文件中时显示。

String html="<html><head></head><body> <Marquee><img src="\mnt\sdcard\osVodigi\Images\apps.png"/><img src="\mnt\sdcard\osVodigi\Images\shop.png"/><img src="\mnt\sdcard\osVodigi\Images\skype.png"/><img src="\mnt\sdcard\osVodigi\Images\word.png"/></marquee>sfdfsd</body></html>";
web.loadData(html, "text/html", "utf-8");

我如何解决问题? 谢谢

【问题讨论】:

  • 也许this可以帮忙
  • 我可以从您的代码中看到您没有使用 \" 作为双引号。这可能会出错。在双引号前使用反斜杠。
  • web.loadUrl("file:///android_asset/new.html");这段代码没问题..为什么使用文本不起作用?
  • @user1247414 试试下面的

标签: android webview


【解决方案1】:

你需要获取图片的路径,然后在html中使用图片路径并在webview中加载。

不要使用硬编码路径使用Environment.getExternalStorageDirectory()

还要检查 sdcard 是否挂载

 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
 {
       //dosomething
 }  

在webview中获取路径并加载图片

File f= new File(Environment.getExternalStorageDirectory(),"MyFolder"); 
String filename ="image.png" 
String imagePath = "file://"+ f.getAbsolutePath() + File.separator + filename;
String html = "<html><head></head><body><Marquee><img src=\"" + imagePath + "\">My Scroll Text</Marquee></body></html>";
wv= (WebView) findViewById(R.id.wv);
wv.loadDataWithBaseURL("", html, "text/html", "utf-8", "");

在清单文件中添加权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

快照。图片和文字确实滚动

【讨论】:

  • 此代码无效!
  • 它对我有用。在设备上进行了测试。
  • 您可以检查它在我的设备上运行的快照,图像和文本从右到左滚动。如果它不起作用,你可能做错了什么。
  • /// 斜线...不起作用..如何删除三个斜线文件中的 1 个斜线:///mnt/sdcard/osVodigi/Images/shop.png
  • 不要使用硬编码路径。如果您完全按照上述操作,它应该可以工作。像 String imagePath = "file://"+ f.getAbsolutePath() + File.separator + filename;然后在你的 html 中使用上面的 imagePath。