java - 设备上的 Webview 应用程序分辨率太大

标签 java android webview

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

我尝试在 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>

最佳答案

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

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", "");

关于java - 设备上的 Webview 应用程序分辨率太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26541053/

相关文章:

ios - webview 正在加载到模拟器中但未加载到设备中

java:ProcessBuilder 占用大量内存

Java CORBA 客户端在事件触发时断开连接

java - 如何将不同的枚举类型传递给方法?

java - 如何在Android中备份备忘录和任务

javascript - Xamarin WebView Audio.Play不起作用

java - jsp基于boolean true false隐藏列表项

android - 以编程方式启用/禁用 "Battery Saver"模式

android - 如何在应用程序中使用必应语音 API?

android - 画廊工作中的文件选择器,但它不适用于 android webview 中的相机