WebView:维护背景图像方面

WebView: Maintain Background Image Aspect

我有一个用于加载远程网页的 WebView 应用程序。我已经设置了一个背景图片,在网页完全加载之前显示。

activity_main.xml:

...
<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/clientWebView"
    android:background="@drawable/splash"
...

MyClient.java:

...
WebView clientView = (WebView) mainActivity.findViewById(R.id.clientWebView);
clientView.setBackgroundColor(android.graphics.Color.TRANSPARENT);
WebSettings viewSettings = clientView.getSettings();
viewSettings.setJavaScriptEnabled(true);
viewSettings.setLoadWithOverviewMode(true);
viewSettings.setUseWideViewPort(true);
...

问题是背景图片是 stretched/squished,尤其是在纵向模式下。我一直在 Whosebug 和 Google 上寻找答案,但没有找到任何有效的方法。

是的,任何视图的背景都将始终适合屏幕尺寸。

这会导致图像拉伸。

最好的是你需要在 WebView 后面添加一个 ImageView 并将图像设置为它的 src

然后,

将以下行添加到您的 ImageView

android:scaleType="centerCrop"

这样可以确保您的图像不会拉伸