我想在网络视图中加载图片,但它会在网页视图的top_left处显示所有图片。我的照片在互联网上而不是本地。
gifView.loadUrl(mImageUrl);
gifView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.getSettings().setLoadsImagesAutomatically(true);
if (mProgressBar != null) {
mProgressBar.setVisibility(View.GONE);
}
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (mProgressBar != null) {
mProgressBar.setVisibility(View.VISIBLE);
}
}
});
这是我的xml :::
<WebView
android:id="@+id/gif_image"
android:background="@null"
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
编辑:我用过:
String HTML_FORMAT = "<html><body style=\"text-align: center; background-color: null; vertical-align: middle;\"><img src = \"%s\" /></body></html>";
final String html = String.format(HTML_FORMAT, mImageUrl);
gifView.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");
但我的图片只有水平中心,如何居中
答案 0 :(得分:10)
试试这个。
myWebView.loadData("<html><head><style type='text/css'>body{margin:auto auto;text-align:center;} img{width:100%25;} </style></head><body><img src='www.mysite.com/myimg.jpeg'/></body></html>" ,"text/html", "UTF-8");
答案 1 :(得分:3)
我是通过使用一些代码和xml来完成的:
<WebView android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="251dp"
android:layout_below="@+id/download"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
和(对于horizental中心):
WebView loading = (WebView)rootView.findViewById(R.id.webview);
loading.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
loading.loadDataWithBaseURL("file:///android_asset/", "<html><center><img src=\"done.png\"></html>", "text/html", "utf-8", "");
或者这个(水平和垂直中心):
WebView loading = (WebView)rootView.findViewById(R.id.webview);
loading.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);
loading.loadDataWithBaseURL("file:///android_asset/", "<html>\n" +
"<body bgcolor=\"white\">\n" +
" <table width=\"100%\" height=\"100%\">\n" +
" <tr>\n" +
" <td align=\"center\" valign=\"center\">\n" +
" <img src=\"loading.gif\">\n" +
" </td>\n" +
" </tr>\n" +
" </table>\n" +
"</body>", "text/html", "utf-8", "");
答案 2 :(得分:2)
尝试这样的事情:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
String data = "<body><center><img width=\"" + width + "\" src=\"" + url
+ "\" /></center></body></html>";
webview.loadData(data, "text/html", null);
答案 3 :(得分:1)
试试这个,这会使内容适合您的网页视图
WebView web = (WebView) findViewById(R.id.gif_image);
web.getSettings().setDefaultZoom(ZoomDensity.FAR);
答案 4 :(得分:0)
您使用线性布局吗?因此,您需要使用父线性布局的gravity属性。 android中重力的一个很好的解释:http://sandipchitale.blogspot.com/2010/05/linearlayout-gravity-and-layoutgravity.html
答案 5 :(得分:0)
原因不在web视图中,它是html代码。 W3c希望“文本对齐”不再对图像等块元素产生影响。
您可以在center-image-using-text-align-center
阅读更多内容因此,您可以制作图像display:inline
或以其他方式将其居中,例如
.center {
left: 50%;
margin-left: -50%;
}