安卓开发(9)——安卓webView

  • Post author:
  • Post category:其他


转载:

https://blog.csdn.net/weixin_40438421/article/details/85700109



一、WebView概述

  • Android WebView在Android平台上是一个特殊的View,它能用来显示网页,这个WebView类可以被用来在app中仅仅显示一张在线的网页,当然还可以用来开发浏览器。
  • WebView内部实现是采用渲染引擎(WebKit)来展示view的内容,提供网页前进后退、网页放大、缩小、搜索等功能。
  • WebView是一个基于WebKit引擎、展现Web页面的控件,Android的WebView在低版本和高版本采用了不同的WebKit版本内核。



二、在Edit框里输入网址并显示网页


  • 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=".MainActivity" >
    
        <LinearLayout 
            android:id="@+id/ll"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            
            >
            <EditText 
                android:id="@+id/ed"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:hint="请输入网址"
                />
        </LinearLayout>
        
        
        <WebView
            android:layout_below="@id/ll"
            android:id="@+id/webView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    </RelativeLayout>
    

  • Java

    package com.example.jiangyo.learn;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.KeyEvent;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.EditText;
    import android.widget.TextView;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            final WebView wb = (WebView) findViewById(R.id.webView1);
            wb.setWebViewClient(new WebViewClient());
            
            final EditText ed = (EditText) findViewById(R.id.ed);
            ed.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    			
            	//回车不换行,效果是回车后立即显示网页
    			public boolean onEditorAction(TextView arg0, int arg1, KeyEvent event) {
    				// TODO Auto-generated method stub
    				String str = ed.getText().toString();
    				
    				//加载网页
    				wb.loadUrl(str);
    	
    				return (event.getKeyCode() == KeyEvent.KEYCODE_ENTER); 
    			}
    		});
        }  
    }
    

  • 并且在AndroidManifest.xml文件中添加网络权限

    <uses-permission android:name="android.permission.INTERNET" />
    



版权声明:本文为weixin_44999992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。