gpt4 book ai didi

java - 在 WebView android 中启用缩放

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:54:02 31 4
gpt4 key购买 nike

我无法在 Android 中的 WebView 上启用缩放限制

我是编程新手,已经尝试了所有方法都无法解决问题。

新来的,我不能附上图片。

WebViewActivity.java

package com.mkyong.android;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;


public class WebViewActivity extends Activity {

private WebView webView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);

webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://200.99.150.163/sacsptrans/hrecinicial.aspx");


webView.setWebViewClient(new WebViewClient()
{
// prevent open in external browser
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return false;
}

});

}

主 Activity .java

package com.mkyong.android;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

private Button button;

public void onCreate(Bundle savedInstanceState) {
final Context context = this;

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

button = (Button) findViewById(R.id.buttonUrl);

button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {

Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}

});

}

}

最佳答案

为了在webView上启用缩放,在onTuchEvent覆盖方法中添加如下代码:

webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setSupportZoom(true);

如果您的 webview 转到另一个 url 并且您想要保持缩放级别使用 webSettings

webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR);

如果您想要在 webview 加载时进行预定义缩放,请使用:

mWebView.setInitialScale(ZOOM_LEVEL);  // int value 50 = 50% -- 200 = 200%

它适用于所有设备分辨率。

更新:如果其中任何一个在工作(weeeird...)试试这个:

public class Main extends Activity {
private WebView myWebView;
private static final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT,Gravity.BOTTOM);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.webview);
this.myWebView = (WebView) this.findViewById(R.id.webView);

FrameLayout mContentView = (FrameLayout) getWindow().
getDecorView().findViewById(android.R.id.content);
final View zoom = this.myWebView.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.GONE);

this.myWebView.loadUrl("http://www.facebook.com");
}
}

来自 this question.

关于java - 在 WebView android 中启用缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414094/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com