webview会自动缩放。 我想将webview视为普通屏幕,无论它是否滚动只是想要缩小webview。 如何解决这个问题。
我玩初始比例但没有变化。
我创建了自定义webview
package com.myapp.app;
import android.content.Context;
import android.util.AttributeSet;
import android.webkit.WebView;
public class YourCustomWebView extends WebView {
public YourCustomWebView(Context context) {
super(context);
init(context);
}
public YourCustomWebView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public YourCustomWebView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}
private void init(Context context) {
public int scrollmiddle(){
int returnval=this.computeHorizontalScrollRange();
this.scrollTo((returnval/4) + 100, this.getScrollY());
return returnval;
}
}
和这样的java文件。
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mWebView.saveState(outState);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
在onCreate方法中。
mWebView = (YourCustomWebView) findViewById(R.id.webView);
WebSettings webSettings = mWebView.getSettings();
if(savedInstanceState != null){
mWebView.restoreState(savedInstanceState);
mWebView.setInitialScale(0);
webSettings.setLoadWithOverviewMode(true);
}else{
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
if(android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.JELLY_BEAN){
webSettings.setAllowUniversalAccessFromFileURLs(true);
}
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
MyWebChromeClient chromeclient=new MyWebChromeClient();
mWebView.setWebChromeClient(chromeclient);
MyWebViewClient client = new MyWebViewClient();
mWebView.setWebViewClient(client);
mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
mWebView.loadUrl(getString(R.string.urlhome));
}
这是我的xml文件
<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}" >
<com.myapp.app.YourCustomWebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" /></RelativeLayout>
清单文件
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboard|keyboardHidden|screenSize"
android:label="@string/app_name" >
</activity>
我尝试了许多方法,但没有成功。
任何帮助将不胜感激,谢谢
答案 0 :(得分:1)
您需要在HTML中添加以下内容:
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
和你的CSS:
html {-webkit-text-size-adjust: none;}
取自this post(以及评论)。
答案 1 :(得分:0)
试试这个
webSettings.setAppCacheEnabled(true);
或每个活动的manifest.xml
android:configChanges="orientation"