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"
这样可以确保您的图像不会拉伸
我有一个用于加载远程网页的 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"
这样可以确保您的图像不会拉伸