当前位置: 首页 > news >正文

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、

 

转载于:https://www.cnblogs.com/codeskilla/p/9419003.html

相关文章:

  • StringUtils工具类用法
  • 推荐一个React的管理后台框架
  • JQuery FullCalendar(二)
  • 在Pd中取消Code Name 同步
  • QTREE5 - Query on a tree V(LCT)
  • C/C++ Volatile关键词深度剖析
  • word2vec原理(一) CBOW与Skip-Gram模型基础——转载自刘建平Pinard
  • Treap实现的名次树
  • 最短路径SPFA算法(邻接表存法)
  • python 读取文件基本格式
  • Spring注入静态变量
  • Hadoop的hdfs api操作
  • 反射获取枚举的属性注释
  • 各种卷积结构原理及优劣总结
  • linux 程序管理
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Javascript 原型链
  • Javascript设计模式学习之Observer(观察者)模式
  • JAVA并发编程--1.基础概念
  • SOFAMosn配置模型
  • 简单基于spring的redis配置(单机和集群模式)
  • 简单实现一个textarea自适应高度
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 模型微调
  • 那些被忽略的 JavaScript 数组方法细节
  • 少走弯路,给Java 1~5 年程序员的建议
  • 我的业余项目总结
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 线性表及其算法(java实现)
  • 译自由幺半群
  • 在Mac OS X上安装 Ruby运行环境
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #单片机(TB6600驱动42步进电机)
  • (1)(1.9) MSP (version 4.2)
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2)nginx 安装、启停
  • (C语言)字符分类函数
  • (Forward) Music Player: From UI Proposal to Code
  • (Git) gitignore基础使用
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)Sql Server 保留几位小数的两种做法
  • (转)菜鸟学数据库(三)——存储过程
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET 2.0中新增的一些TryGet,TryParse等方法