我正在使用Android-Query将图片加载到网页视图中,因此我可以使用该特定视图附带的缩放功能。
现在,我正在加载的图像比它们的宽度更高,因此,在我的布局中,正在被裁剪(无法看到图像的底部)。
无论如何我可以改变我的代码来强制加载的图像缩放以适应视图吗?文件说......
除了ImageView之外,WebView还可用于显示图像 以及Android内置的缩放支持WebView。图像将是 居中并根据它来填充webview的宽度或高度 取向。
所以我想我可能会失去运气?这是加载图像的相关代码行...
aq.id(R.id.webview).progress(R.id.progressbar).webImage(imageUrl);
这就是外行......
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<ProgressBar
android:id="@+id/progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
答案 0 :(得分:0)
好。得到了适合我特定场景的解决方案,所以...
由于我知道正在加载到webview中的图像的比例,我想我可以将webview调整到正确的比例,以确保它正确地适合可用空间。我将XML更新为...
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/wrapper"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
<ProgressBar
android:id="@+id/progressbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
...然后将此添加到我的活动中(来自here的想法)...
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// need to set correct proportions of webview to match image
super.onWindowFocusChanged(hasFocus);
WebView mWrapper = (WebView) findViewById(R.id.webview);
int w = mWrapper.getWidth();
int h = mWrapper.getHeight();
while ( w * 1.28 > h ) {
w--;
}
LayoutParams params = new LinearLayout.LayoutParams( (int) w, LinearLayout.LayoutParams.FILL_PARENT );
mWrapper.setLayoutParams(params);
}
...其中“1.28”值是我图像的宽度和高度之间的比率(高度除以宽度)。
因此,图像被添加到webview,视图被布局,然后这个代码开始并缩小宽度,直到它足够小以使用适当的比例适合可用高度。新的LinearLayout以webview为中心,使事情看起来整洁。