android - 如何使 Web 图像适合 WebView 内的 Android 屏幕尺寸?在使用 JSON 数据获取网站内容时,使用 restful
问题描述
我正在使用 Rest API 获取 Json 数据。并且仅在 WebView 中显示内容,但 Web 图像在其中以全尺寸显示。我想让图像适合屏幕尺寸。
下面是我的代码:
content = (WebView)findViewById(R.id.content);
final WebViewLoader webViewLoader = new WebViewLoader(content);
webViewLoader.setWebSettings();
String url = Const.get_content_by_id.replace("POST_ID",String.valueOf(id));
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
try {
JSONObject ParentObject = new JSONObject(s);
webViewLoader.setLoadDataWithBaseUrl(ParentObject.getJSONObject("content").getString("rendered"));
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(Post.this,"Unable to Load", Toast.LENGTH_LONG).show();
}
});
SingletonVolley.getInstance(getApplicationContext()).addToRequestQueue(request);
解决方案
我终于通过使用 web 内容设置样式标签来解决它。
webViewLoader.setLoadDataWithBaseUrl("<style>img{display: inline;height: auto;max-width: 100%</style>"+ParentObject.getJSONObject("content").getString("rendered"));
如果有人想添加更多样式,只需在<style></style>
之后或之前添加<style>img{display: inline;height: auto;max-width: 100%</style>
推荐阅读
- jquery - 使用 jquery ajax 替换视图部分
- angular - 具有多个组件的 Angular LazyLoading 不起作用
- reactjs - typescript react - 定义元素名称锚的类型 - TS2559
- javascript - 在 row.add() 之后将工具提示添加到数据表行
- opengl - 是否可以在布局格式为 rg32ui 的图像上使用 imageAtomicMax?
- python - 从excel表导出后如何清理数据框中的日期时间字符串?
- string - 如何在raylib的文本中显示变量
- sql - 需要在 sql 查询中添加 if 语句以获得不同的值
- c++ - C++ 如何制作 std::function
返回一个布尔值 - php - php 查询 - 按日期过滤