您的位置:首页 > 移动开发 > Android开发

Android实现网页的放大与缩小

2013-02-08 15:06 603 查看
以前实现打开某一网的功能都是调用系统内的浏览器,这个实例实现的是利用Webview控件实现网页的打开,放大与缩小的功能。

实现的截图如下:

正常模式的大小:



放大网页:



缩小网页:



实现这个例子 的代码如下:

package irdc.ex08_22;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class EX08_22 extends Activity
{
  public static String TAG = "HIPPO_DEBUG";
  private EditText mEditText01;
  private Button mButton01,mButton02,mButton03,mButton04;
  private WebView mWebView01;
  private WebSettings mWebSettings01;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    mEditText01 = (EditText)this.findViewById(R.id.myEditText1);
    mEditText01.setText("http://www.csdn.net/");
    mButton01 = (Button)this.findViewById(R.id.myButton1);
    mButton02 = (Button)this.findViewById(R.id.myButton2);
    mButton03 = (Button)this.findViewById(R.id.myButton3);
    mButton04 = (Button)this.findViewById(R.id.myButton4);
    
    mWebView01 = (WebView)this.findViewById(R.id.myWebView1);
    mWebSettings01 = mWebView01.getSettings();
    mWebSettings01.setJavaScriptEnabled(true);
    
    // AppCacheMaxSize in 512 KB = 524288 bytes
    mWebSettings01.setAppCacheMaxSize(524288);
    // Tell the WebView to enable Application Caches
    mWebSettings01.setAppCacheEnabled(true);
    // 延含学习setAppCachePath()指定缓存路径
    //mWebSettings01.setDatabaseEnabled(true); 
    //mWebSettings01.setDatabasePath("/data/data/com.package.name/databases");
    
    mButton01.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        // TODO Auto-generated method stub
        mWebView01.loadUrl(mEditText01.getText().toString());
      }
    });
    
    mButton02.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        // TODO Auto-generated method stub
        //放大网页
        mWebSettings01.setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
      }
    });
    
    mButton03.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        // TODO Auto-generated method stub
        //正常网页大小
        mWebSettings01.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
      }
    });
    
    mButton04.setOnClickListener(new Button.OnClickListener()
    {
      @Override
      public void onClick(View v)
      {
        // TODO Auto-generated method stub
        //缩小网页
        mWebSettings01.setDefaultZoom(WebSettings.ZoomDensity.FAR);
      }
    });
    
    mWebView01.setWebViewClient(new WebViewClient()
    {
      
    });
  }
}


布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:background="@drawable/white"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <EditText
    android:id="@+id/myEditText1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text=""
    android:autoText="false"
    android:hint="http://"
    android:password="false"
    android:capitalize="none"
    android:singleLine="True"
  />
  <LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
  >
  <Button
    android:id="@+id/myButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Go" />
  <Button
    android:id="@+id/myButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Zoom In" />
  <Button
    android:id="@+id/myButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Normal" />
  <Button
    android:id="@+id/myButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Zoom Out" />
  </LinearLayout>
  <WebView
    android:id="@+id/myWebView1"
    android:background="@drawable/white"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:focusable="false"/>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: