我开发Android application.Here我在网页视图显示URL图像。 但图像不适合我的web视图。 有人建议使用视口的概念。 但我不能够使用,完美。 我连着在绘制表格的解释我的问题。 我用了
mWebView.getSettings().setUseWideViewPort (true);
但没有得到很好的结果。 我需要显示在所有分辨率的设备,包括7英寸,10英寸平板电脑的拟合图像。 所以,请看看附加的图像,并建议在我的WebView的地方,以适应URL图像的正确途径。 我想表明我的图像相同第3图。
这里是我的加载图像的代码:
webView = (WebView) findViewById(R.id.webimage);
WebSettings webSettings = imageView.getSettings();
webSettings.setLoadsImagesAutomatically(true);
webSettings.setSupportZoom(true) ;
webSettings.setBuiltInZoomControls(true);
webView.setBackgroundColor(Color.TRANSPARENT);
webView.getSettings().setUseWideViewPort (true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.setWebViewClient(new WebViewClient()
{
//some dialog implementation
}
webView.loadUrl(myurl);
你可以IMG的宽度属性设置为100%
并且不设置height属性
<body >
<img id="resizeImage" src="you_image.png" width="100%" alt="" />
</body>
编辑:其实我也有同样的问题。 但是我仍然在等待正确的答案。
你可以参考,我的问题HERE
虽然我已设法一些如何这个问题,通过一招managing height and Width
设备的。 和使用wv.setInitialScale(185);
ByDefault缩放将在左上角。
我已经把我下面的代码。
WindowManager mWinMgr;
public static int displayWidth = 0, displayHeight = 0;
@Override
protected void onCreate(Bundle icicle) {
// TODO Auto-generated method stub
super.onCreate(icicle);
// this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
// this.setProgressBarVisibility(true);
mWinMgr = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
displayWidth = mWinMgr.getDefaultDisplay().getWidth();
displayHeight = mWinMgr.getDefaultDisplay().getHeight();
setContentView(R.layout.view_my_poops);
try {
Map_Type = getIntent().getExtras().getString("MAP_TYPE");
} catch (Exception e) {
}
Log.i(TAG, "MAP TYPE" + Map_Type);
}
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
WebView wv;
wv = (WebView) findViewById(R.id.webview_MyPoops);
wv.getSettings().setJavaScriptEnabled(true);
// this.setProgressBarVisibility(true);
if (displayWidth >= 552 && displayHeight >= 976 || displayWidth >= 976
&& displayHeight >= 552) {
wv.setInitialScale(185);
} else {
// wv.setInitialScale(150);
}
// wv.setInitialScale(30);
URL = "YOUR_URL";
Log.i(TAG, "Loading URL" + URL);
final Activity activity = ViewMyPoop.this;
wv.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// TODO Auto-generated method stub
// Log.i(TAG, "Inside OnProgress Changed" + URL);
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if (progress == 100)
activity.setTitle("My title");
}
});
wv.loadUrl(URL);
wv.setWebViewClient(new WebViewClient());
}
希望这将一些如何帮助您。
有ü尝试低于上述问题的代码: -
Display display = getWindowManager().getDefaultDisplay();
int width=display.getWidth();
String data="<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>";
data=data+"<body><center><img width=\""+width+"\" src=\""+url+"\" /></center></body></html>";
webView.loadData(data, "text/html", null);
你可以试试这个:
webView.setInitialScale(30);
WebSettings webSettings = webView.getSettings();
webSettings.setUseWideViewPort(true);
参见: 链接