Android webview不会在设备上调整大小

时间:2013-11-28 22:17:35

标签: android webview resize

我正在开发我的第一个Android应用程序。我对Android的WebView组件有一个非常奇怪的问题。我的网站有响应式设计。问题是它在模拟器上调整大小但是当我在我的设备上运行时webview显示正常设计,没有响应。任何的想法?这是我的代码:

MainActivity.java

import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

WebView myWebView;

@SuppressWarnings("deprecation")
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

 myWebView = (WebView) findViewById(R.id.webview);
 WebSettings webSettings = myWebView.getSettings();
 webSettings.setJavaScriptEnabled(true); 
 myWebView.getSettings().setPluginState(PluginState.ON); 
 myWebView.loadUrl("http://apelarse.com.ar");

 myWebView.setWebViewClient(new myWebViewClient());
}

private class myWebViewClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {

    view.loadUrl(url);
    return false;
}

    } 

 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK){
        if(myWebView.canGoBack()){
            myWebView.goBack();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
  } 
}

main.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=".MainActivity">

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" />

</RelativeLayout>

我从此网站复制代码:http://samadmalik.com/converting-website-android-app/

2 个答案:

答案 0 :(得分:1)

尝试类似的东西:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

<WebView 
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="0dip"
    android:layout_weight="1"
    />  

</LinearLayout>

我希望它能够正常工作(即使乍一看webview参数看起来有点奇怪)。

答案 1 :(得分:0)

您可能需要添加以下内容:

webview.getSettings().setUseWideViewPort(true)