Это пример, который вы можете протестировать с использованием html-шаблона, затем вы можете заменить текст "body" на любой, какой вы захотите ... в вашем случае html для изображения.Вы можете использовать CSS для стилизации HTML по мере необходимости.Надеюсь, это поможет вам лучше понять, как использовать локальные ресурсы.Оставьте комментарий, если вам нужна дополнительная помощь.
Одна ключевая строка, которую нельзя пропустить: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,target-densityDpi=device-dpi" />
Используйте это как шаблон: (assets / template.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0,target-densityDpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
[CONTENT]
</body>
</html>
Используйте css следующим образом: (assets / style.css)
@font-face {
font-family: Roboto;
src: url(file:///android_asset/fonts/Roboto.ttf);
}
html, div {
margin: 0;
padding: 0;
}
body {
font-family: Roboto;
font-size: 1.0em;
color: rgb(61,61,61);
text-align: left;
position:relative;
padding: 40px;
background-color: #eeeeee;
}
Затем в вашем классе WebView: (ваш класс, расширяющий WebView)
public void setText(CharSequence text, int color){
try {
InputStream is = getResources().getAssets().open("article_view.html");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
loadDataWithBaseURL("file:///android_asset/",
new String(buffer).replace("[CONTENT]", text.toString()),
"text/html", "UTF-8", null);
} catch (IOException e) {
e.printStackTrace();
}
}