是否可以将缩放添加到移动定位网站?
我使用webview,我需要移动网站的文字更大,我认为如果我能够放大,这可以解决。但是Web.getSettings().setBuiltInZoomControls(true);
无效。它不允许我缩放。
编辑: 以下是我现在的情况:
Web = (WebView) findViewById(R.id.webView1);
Web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Web.getSettings().setJavaScriptEnabled(true);
Web.getSettings().setBuiltInZoomControls(true);
Web.getSettings().setPluginsEnabled(true);
Web.getSettings().setAllowFileAccess(true);
Web.loadUrl(URL);
Web.getSettings().setCacheMode( WebSettings.LOAD_NO_CACHE );
Web.getSettings().setRenderPriority( RenderPriority.HIGH );
Web.setWebViewClient(new WebViewClient());
Web.setWebViewClient(new ErrorWebViewClient());
EDIT2: 这就是我尝试Mocialov Boris的答案:
View zoom;
FrameLayout mContentView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web);
Web = (WebView) findViewById(R.id.webView1);
Web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Web.getSettings().setJavaScriptEnabled(true);
Web.getSettings().setPluginsEnabled(true);
Web.getSettings().setAllowFileAccess(true);
Web.loadUrl(URL);
Web.getSettings().setSupportZoom(true);
Web.getSettings().setCacheMode( WebSettings.LOAD_NO_CACHE );
Web.getSettings().setRenderPriority( RenderPriority.HIGH );
Web.setWebViewClient(new WebViewClient());
Web.setWebViewClient(new ErrorWebViewClient());
mContentView = (FrameLayout) getWindow().getDecorView().findViewById(android.R.id.content);
zoom = Web.getZoomControls();
mContentView.addView(zoom);
zoom.setVisibility(View.GONE);
答案 0 :(得分:1)
在此解决方案中,实现处理程序非常重要,因为它将从某个线程对UI进行更改。您说在添加此mContentView.addView(zoom);
行后应用程序崩溃了,我认为这就是问题
View zoom;
FrameLayout mContentView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web);
Web = (WebView) findViewById(R.id.webView1);
Web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Web.getSettings().setJavaScriptEnabled(true);
Web.getSettings().setPluginsEnabled(true);
Web.getSettings().setAllowFileAccess(true);
Web.loadUrl(URL);
Web.getSettings().setSupportZoom(true);
Web.getSettings().setCacheMode( WebSettings.LOAD_NO_CACHE );
Web.getSettings().setRenderPriority( RenderPriority.HIGH );
Web.setWebViewClient(new WebViewClient());
Web.setWebViewClient(new ErrorWebViewClient());
mContentView = (FrameLayout) getWindow().getDecorView().findViewById(android.R.id.content);
zoom = Web.getZoomControls();
mContentView.addView(zoom);
zoom.setVisibility(View.GONE);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
System.out.println("got msg");
switch (msg.what) {
case 0:
mContentView.addView(zoom);
break;
}
}
}