Webview应用程序分辨率在设备上太大了

时间:2014-10-24 03:33:37

标签: java android webview

我尝试创建一个打开我的网络应用的应用。我使用webview来调用应用程序,但是当我运行它时,应用程序有点放大(不是实际大小)。如何更改视图的大小?我的设备分辨率是1280px x 800px。我使用相同的分辨率设置了网页。

我尝试在header.php上添加viewport元标记,但它只能在设备的浏览器中使用,而不能在应用中使用。

试过这个但不起作用

<meta name="viewport" content="width=800, initial-scale=1, user-scalable=no">">

activity_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=".WebView" >

    <WebView
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerHorizontal="true"

         />


</RelativeLayout>

MainActivity.java

package com.example.suryaagung;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.app.Activity;
import android.view.Window;
import android.view.WindowManager;
public class MainActivity extends ActionBarActivity {

    @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //No title bar is set for the activity
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //Full screen is set for the Window
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);
        final WebView SuryaAgung = (WebView)findViewById(R.id.main);
        SuryaAgung.setWebViewClient(new WebViewClient());
        SuryaAgung.loadUrl("http://localhost:8080/app");
        SuryaAgung.getSettings().setJavaScriptEnabled(true);
      }
    }

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.suryaagung"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>

1 个答案:

答案 0 :(得分:0)

<强>更新 我刚试过这段代码,它可以很好地适应平板电脑和手机上的内容。

public class ActivityWebview extends Activity {

    final private String TAG = ActivityWebview.class.getSimpleName();
    private WebView wv;
    private AQuery aq;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);
        aq = new AQuery(this);
        wv = aq.id(R.id.wv).getWebView();
        wv.setWebViewClient(new WebViewClient());
        wv.getSettings().setLoadWithOverviewMode(true);
        wv.getSettings().setUseWideViewPort(true);
        wv.loadUrl("http://www.cnn.com");
    }
}

我之前使用它来将图像拟合到设备尺寸,尝试一下。

StringBuilder sb = new StringBuilder();
sb.append("<HEAD>");
sb.append("<meta name=\"viewport\" content=\"width=device-width, height=device-height, initial-scale=1.0, user-scalable=no\" />");
    sb.append("</HEAD>");

// add these to webview settings
webview.getSettings().setUseWideViewPort(true);
webview.getSettings().setLoadWithOverviewMode(true);

webview.loadDataWithBaseURL("http://www.example.com", sb.toString(), "text/html", "UTF-8", "");