- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个布局如下的 Activity :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<include layout="@layout/window_title" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_below="@+id/linear_layout"/>
</RelativeLayout>
这是我的配置方式:
// Enable JavaScript.
WebView myWebView = (WebView) findViewById(R.id.webView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
// Settings so page loads zoomed-out all the way.
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
webSettings.setBuiltInZoomControls(true);
这是我的 list 文件中的版本设置:
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="17" />
我正在尝试在 WebView 中加载此页面:
https://new.livestream.com/lcboise
页面加载正常,但我无法缩放。我已经尝试了 WebView 设置的不同组合(上面,包括其他未列出的),但它就是不会缩放。
观察:
1) 在完全相同的 WebView 中加载我正在使用的不同页面 ( https://lcboise.infellowship.com/UserLogin ) 允许我缩放。
2) 我的主要测试设备是一台运行 Android v4.4.3 的 HTC One。
3) 我可以在我使用的运行 Android v2.3.3 的旧测试设备上加载和缩放直播页面。
页面本身是否有可能破坏在 HTC One 上运行的 WebView?如果是这样,是否有人猜测可能是这样做的?
更新[解决方案]:
这是我必须添加到我的 WebView 中才能使双指缩放正常工作的内容:
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
String javascript="javascript:document.getElementsByName('viewport')[0].setAttribute('content', 'initial-scale=1.0,maximum-scale=10.0');";
view.loadUrl(javascript);
}
});
最佳答案
这是您链接的页面,具有以下视口(viewport)元标记:
<meta name="viewport" content="width=1024, maximum-scale=1.0, target-densitydpi=device-dpi">
有效的页面具有不同的视口(viewport)元标记。 maximum-scale
位告诉 WebView 不允许放大超过指定的数量。
该站点在任何现代移动浏览器中也应该被破坏。将 maximum-scale 设置为这样的低值不是很“移动友好”,因此它可能只是网站上的一个错误。您是否尝试过联系所有者,也许他们可以在服务器端修复它?
您可以在 WebView 中做很多事情而不会导致其他网站呈现不正确。您可以尝试通过 changing the meta tag 注入(inject) JavaScript 来修复页面作为最后的手段。
关于android - 为什么双指缩放在我的 Android WebView 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236676/
我有一个具有可变数量子元素的固定大小的 div。我不知道 children 的大小。目标是缩小它们以适合父级。 例子: .parent { width: 100px; height: 100p
我是一名优秀的程序员,十分优秀!