将webview缩放到android中的整个屏幕

时间:2012-07-31 14:08:36

标签: android android-webview scaling viewport

我正在尝试将webview扩展到屏幕的大小,但我已经失败了..我已经尝试了很多组合,但它们都没有为我工作。我在那段代码中缺少什么?任何帮助是极大的赞赏。

package com.example.images;

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

public class MainActivity extends Activity { 

private WebView webView; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState); 
   setContentView(R.layout.main); 
  webView  = (WebView) findViewById(R.id.webview_compontent); 


  String r="<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0,target-densityDpi=device-dpi\">"; 

        String s="<html><head>"+"<style>body{margin:0; }</style>" +r+"</head>" +"<body>"+
           "<IMG src="+ "\"http://46.20.150.55/member/Resimler/kampanya/195/314/blackmakas1.jpg\">" +
           "<DIV style=\"Z-INDEX: 1; POSITION: absolute; TEXT-ALIGN: center; BACKGROUND-COLOR: white;" +
           "WIDTH: 80px; TOP: 137px; LEFT: 121px\">564524</DIV>"+"</body><html>"; 

   webView.setBackgroundColor(0); 
   webView.setBackgroundResource(R.drawable.android); 
   webView.loadData(s, "text/html","UTF-8");  



  //doesn't work
  /*webView.getSettings().setLoadWithOverviewMode(true); 
   webView.getSettings().setUseWideViewPort(true); 

   try { 
       // load the url 
       webView.loadData(s, "text/html","UTF-8");
   } catch (Exception e) { 
       e.printStackTrace(); 
   } */

   //doesn't work

 /* webView.setInitialScale(1); 
  webView.getSettings().setLoadWithOverviewMode(true); 
  webView.getSettings().setUseWideViewPort(true); 
  webView.getSettings().setJavaScriptEnabled(true); 
  */

  //doesn't work

  /* String p="<html><head>"+"<style>body{margin:0; }</style>" +r+"</head>" +"<body>"+
           "<IMG src="+ "\"http://46.20.150.55/member/Resimler/kampanya/195/314/blackmakas1.jpg\">" +
           "<DIV style=\"Z-INDEX: 1; POSITION: absolute; TEXT-ALIGN: center; BACKGROUND-COLOR: white;" +
           "WIDTH: 80px; TOP: 137px; LEFT: 121px\">564524</DIV>"+"</body><html>"; 

   webView.loadData(p, "text/html","UTF-8");

   webView.getSettings().setJavaScriptEnabled(true); 
   webView.getSettings().setLoadWithOverviewMode(true); 
   webView.getSettings().setUseWideViewPort(true); 
   webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 
   webView.setScrollbarFadingEnabled(false);   */   

  } } 

这是main.xml

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

  >


 <WebView
     android:id="@+id/webview_compontent"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"

 />


 </LinearLayout>

这是清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.images"
android:versionCode="1"
android:versionName="1.0" >

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

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

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

(Editted)

我得到的网页是:

这是我得到的页面..我想要的是将广告图像放到所有屏幕上。

enter image description here

2 个答案:

答案 0 :(得分:0)

问题是你的webwiew是全屏的,但是blackmakas不是。 webView.setBackgroundResource(R.drawable.android);此行显示您拥有全屏。问题出在你的HTML中。

答案 1 :(得分:0)

我认为您需要使用WEbViewClient将网址加载到全屏图像中,因为您遇到的问题是您尝试在实际设置视图之前加载宽度和高度的webview。

请尝试按照以下教程进行操作:http://www.technotalkative.com/android-webviewclient-example/和此一个:http://www.chrisdanielson.com/tag/webviewclient/