WebView.简单使用_ZC代码

ZC:环境:Win7x64、Eclipse:"eclipse-jee-mars-R-win32__apk__20180122_Win7x64_FQ下载ADT-23.0.7_WBv1.8.0.rar",Adnroid-SDK:"E:\ZC_____Android_Qt\_Run_Env\Android\android-sdk\platform-tools"

1、主要的代码:(主要参考网址:Android WebView使用深入浅出 - soaringEveryday - 博客园.html [https://www.cnblogs.com/soaringEveryday/p/4495221.html])

  PS:菜单栏主要参考网址:Android控件之菜单详解 - CSDN博客.html(https://blog.csdn.net/qq_35622606/article/details/77876232

  创建的是 默认的 BlankProject,下面记录的是 有过修改的文件,没有修改的文件 就没有记录下来了

  1.1、MainActivity.java

package com.example.webview01;

import android.support.v7.app.ActionBarActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

@SuppressLint("NewApi")
public class MainActivity extends ActionBarActivity
{

    WebView FwebView = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FwebView = (WebView) findViewById(R.id.webView);
        FwebView.loadUrl("http://www.baidu.com/");
        
        // ZC: 禁止使用手机中默认安装的内置WebKit浏览器打开网页
        FwebView.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        
    // ***
        
        Button btnBack = (Button) findViewById(R.id.btnBack);
        btnBack.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //Log.i("匿名内部类", "点击事件");
                FwebView.goBack();
            }
        });// btnBack
        Button btnForward = (Button) findViewById(R.id.btnForward);
        btnForward.setOnClickListener(new OnClickListener()
        {
            @Override
            public void onClick(View v)
            { FwebView.goForward(); }
        });// btnForward
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // ZC: 上面貌似是 创建菜单栏并使菜单栏生效的地方,看下面自动产生的英文注释也可明了
        // ZC: 网上看到的 手动创建菜单栏中 关于创建和使之生效的代码 和这里差不多
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
//        if (id == R.id.action_settings) {
//            return true;
//        }
        // ZC: 这里是 菜单栏中的点击事件响应的代码
        if (id == R.id.menu_sub1) {
            FwebView.goBack();
            return true;
        }
        else if (id == R.id.menu_sub2) {
            FwebView.goForward();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

  1.2、res/layout/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="com.example.webview01.MainActivity" >
    <!-- ZC: 将<RelativeLayout/>里面的这4个属性去掉,APP窗口的表框就没有原来那么粗了(或者 改变它们的值也行)
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
     -->

    <!--
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    -->

    <Button
        android:id="@+id/btnBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:text="Back" />
    
    <Button
        android:id="@+id/btnForward"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/btnBack"
        android:layout_alignBottom="@+id/btnBack"
        android:layout_toRightOf="@+id/btnBack"
        android:text="Forward" />
    
    <!-- ZC: 我没看到能直接拖一个WebView到界面上去,一直以为需要另外装包才能有WebView,没想到直接下面这样就行... -->
    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/btnBack" />

    

</RelativeLayout>

  1.3、res/menu/main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.webview01.MainActivity" >
<!-- 
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"
        app:showAsAction="never"/>
 -->
     <!-- ZC: 上面这个是创建工程自动生成的,下面是自己测试使用的 -->
    <item
        android:id="@+id/menu_new"
        android:icon="@android:drawable/ic_menu_help"
        android:title="新建"/>
    <item
        android:id="@+id/menu_delete"
        android:icon="@android:drawable/ic_menu_delete"
        android:title="删除"/>
    <item android:title="子菜单">
        <menu >
            <item android:id="@+id/menu_sub1"
                android:title="子菜单1"/>
            <item android:id="@+id/menu_sub2"
                android:title="子菜单2"/>
        </menu>
    </item>

</menu>

  1.4、AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.webview01"
    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>

    <!-- 我把这个权限的语句写到 activity_main.xml中去了,导致APP闪退... -->
    <uses-permission android:name="android.permission.INTERNET" /> 
</manifest>

2、

3、

4、 

5、

猜你喜欢

转载自www.cnblogs.com/codeskilla/p/9419003.html