Android 棒棒糖上的WebView使用错误(桌面缩放)。怎么办?
在我的应用程序中,我有一个WebView来显示一些简单的html文件。我这样做是因为HTML使我能够应用一些格式、图像等。在下面的Android版本中,棒棒糖可以正常工作。内容按预期显示 另一方面,在带有高清屏幕的棒棒糖设备上存在一个问题。显示文本和图像,但它们非常小。好像WebView会认为它是在这样一个分辨率的台式机上。为了更好地理解,我提供了一个屏幕快照片段: 我将html文件放在资产文件夹中,并使用以下内容显示: webView.loadUrl(file:///android_asset/myhtmlfile.htm); 我的hrml文件有css和pt单位(不是px)中定义的字体大小 我一直在寻找解决办法,我尝试了很多事情 我已经在我的html中按照 我试过我认为以上所有可能的组合。 更令人费解的是,有时内容会以正确的大小显示。我把活动开得很小。我在其他时间参加活动,有时还可以。我只在棒棒糖装置上观察到了这一点。 是否有其他我不知道的设置?Android 棒棒糖上的WebView使用错误(桌面缩放)。怎么办?,android,android-webview,Android,Android Webview,在我的应用程序中,我有一个WebView来显示一些简单的html文件。我这样做是因为HTML使我能够应用一些格式、图像等。在下面的Android版本中,棒棒糖可以正常工作。内容按预期显示 另一方面,在带有高清屏幕的棒棒糖设备上存在一个问题。显示文本和图像,但它们非常小。好像WebView会认为它是在这样一个分辨率的台式机上。为了更好地理解,我提供了一个屏幕快照片段: 我将html文件放在资产文件夹中,并使用以下内容显示: webView.loadUrl(file:///android_asse
如何设置webView以正确显示内容?我也有这个问题,我解决了如下问题。首先我检查设备的密度,根据密度,缩放webView
float deviceDensity = getResources().getDisplayMetrics().density;
Log.i("device density", ""+deviceDensity);
/**
* check the android version and if it is Lollipop or upper version then I scaled
* the webView according to the density
*/
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){
int scaleLevel = (int) (100 * deviceDensity);
webView.setInitialScale(scaleLevel);
}
我在三星S6 Edge上进行了测试,效果非常好。您可以为WebView设置initialScale。@greenapps这是在meta标签中设置的。是的,我当然看到了。但你不想换一种方式试试吗?对我来说这很有效<代码>webView.setInitialScale(150)代码>你找到解决方法了吗?
webView.getSettings().setTextZoom(100);
webView.getSettings().setUseWideViewPort(false);
webView.getSettings().setLoadWithOverviewMode(true);
float deviceDensity = getResources().getDisplayMetrics().density;
Log.i("device density", ""+deviceDensity);
/**
* check the android version and if it is Lollipop or upper version then I scaled
* the webView according to the density
*/
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){
int scaleLevel = (int) (100 * deviceDensity);
webView.setInitialScale(scaleLevel);
}