我正在替换原来的问题,因为我发现了更多我认为使问题更加清晰的信息。
我的XML现在很简单,只是一个填充整个活动的WebView:
<?xml version="1.0" encoding="utf-8"?>
<WebView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/Web"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</WebView>
我的完整Java代码现在也非常简单:
public class WebViewActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView web = (WebView) findViewById(id.Web);
web.getSettings().setBuiltInZoomControls(true);
String html = ""
+"<!DOCTYPE html>"
+"<html><head>"
+"</head>"
+"<body>"
+"<div>"
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"Wide image below this text. Wide image below this text. Wide image below this text. Wide image below this text. "
+"</div>"
+"<div><img src=\"http://ampcocontracting.com/wp-content/uploads/ampco-collage-banner_about-us2.jpg\"></div>"
+"<div>"
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"Wide image above this text. Wide image above this text. Wide image above this text. Wide image above this text. "
+"<br>THE END!"
+"</div>"
+"</body>"
+"</html>"
+"";
web.loadData(html,"text/html","UTF-8");
}
}
HTML中的图像是一个非常宽的图像,只是我在网上找到的一个例子,但任何宽图像都有相同的效果(在我的真实应用/代码中我必须加载HTML电子邮件,所以我几乎无法控制实际HTML /内容)。
当我捏放大或使用“+”原生UI按钮时,只有“最左侧”的页面部分被重绘,“屏幕右侧”的所有内容都没有重新绘制会在图像和文本上产生这种可怕的倾斜/切片效果。放大时,屏幕不会向左滚动,因此非常明显。如果我一直向左滚动屏幕,它看起来很好/正确,因为那边重新绘制,如果我向后滚动到右侧,它看起来很糟糕。这不仅仅是一个临时问题,因为我可以继续在整个页面上滚动,它就像那样。缩小后退,或者有时放大,有时会“修复”它,但再次缩放会再次破坏它。
我只是提交一个错误,而不是在这里发布一个问题,因为它似乎是一个明显的错误,但在设备上安装的Web浏览器中查看HTML时我看不到相同的内容(包括内置的“浏览器“和Chrome”,以及GMail和Yahoo Mail也没有这个问题。我也没有在网上看到任何其他的报道,所以我希望有一个简单的答案或解决方案,这是显而易见的,没有其他人甚至问过,但是设法逃脱了我......?
如果我放大/缩小并滚动到足够的地方,我可以看到它看起来很糟糕,这就是为什么我认为我不能“只是忍受它”:
以下是它应该看起来的样子,并在首次加载时执行:
如果我什么都不做,只是捏缩放少量,看起来像这样,如果我在此之后向左滚动,可见部分看起来不错,但向右滚动我仍然可以看到这个弄乱了部分):
答案 0 :(得分:1)
在WebView的设置中设置setUseWideViewPort(true)