• 使用WebView视图显示网页-----迷你浏览器


    Android提供了WebView组件,表面上来看,这个组件与普通ImageView差不多,但实际上,这个组件的功能要强大得多,WebView组件本身就是一个浏览器实现,它的内核基于开源WebKit引擎。如果我们对WebView进行一些美化、包装,可以非常轻松地开发出自己的浏览器。

    WebView的用法与普通ImageView组件的用法基本相似,它提供了大量方法来执行浏览器操作:

    1、void  goBack():后退。

    2、void  goForward():前进。

    3、void  loadUrl(String  url):加载指定URL对应的网页。

    4、boolean  zoomIn():方法网页。

    5、boolean  zoomOut():缩小网页。

    下面的程序将给予WebView来开发一个简单的浏览器:

    该程序的界面中包含两个组件:一个文本框用于接收用户输入想访问的URL;一个WebView用于加载并显示该URL对应的页面。该程序的界面布局代码如下:

    <LinearLayout 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"
      android:orientation="vertical"
      tools:context=".MiniBrowser" >

      <EditText
        android:id="@+id/url"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入想访问的URL"
        />
      <!-- 显示页面的WebView组件 -->
      <WebView
        android:id="@+id/show"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
    </LinearLayout>

    以下程序则主要通过WebView的loadUrl(String  url)来加载、显示指定URL对应的页面。

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.webkit.WebView;
    import android.widget.EditText;

    public class MiniBrowser extends Activity {
      EditText url;
      WebView show;

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mini_browser);
        //获取页面中文本框、WebView组件
        url = (EditText) findViewById(R.id.url);
        show = (WebView) findViewById(R.id.show);
      }
      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_SEARCH){
          String urlStr = url.getText().toString();
          //加载并显示urlStr对应的网页
          show.loadUrl(urlStr);
          return true;
        }
        return false;
      }

    Android系统自带的·浏览器其实也是基于开源的WebKit引擎实现的。

  • 相关阅读:
    Callable、Future和FutureTask使用说明
    WebSocket原理及与http1.0/1.1 long poll和 ajax轮询的区别【转自知乎】
    jvm内存模型及分配参数
    CyclicBarrier 使用说明
    【LOJ6515】贪玩蓝月
    【LOJ6482】LJJ 爱数数 数论
    【CF1063F】String Journey 哈希
    【CF1063D】Candies for Children 数学
    【XSY2851】蛋糕 数学
    2018百度之星大赛游记
  • 原文地址:https://www.cnblogs.com/jiww/p/5642448.html
Copyright © 2020-2023  润新知