android的webView加载网页
来源:互联网 发布:snh48黑历史 知乎 编辑:程序博客网 时间:2024/05/21 07:54
android的webView加载网页
android或ios平台中经常会嵌入一下web前端的页面进行展示交互。
android和ios中都可以通过webView来加载web前端页面
实现效果:
实现思路:
1.先制作手机适配的web前端网页
2.通过App的 webView加载web前端网页的网址
3、改变按键逻辑
实现代码:
fragmentthree.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout_back" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!--<TextView--> <!--android:layout_width="wrap_content"--> <!--android:layout_height="wrap_content"--> <!--android:text="three"--> <!--/>--> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webView" /></LinearLayout>
fragmentthree.java:
package com.example.myframe.fragment;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Toast;import com.example.myframe.R;/** * Created by Administrator on 2017/3/10. */public class fragmentthree extends Fragment{ private WebView webView; //懒加载fragment @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); setUserVisibleHint(true); } //改变webView按键逻辑 private Handler handler = new Handler() { @Override public void handleMessage(Message message) { switch (message.what) { case 1: { webViewGoBack(); } break; } } }; private void webViewGoBack() { webView.goBack(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragmentthree, null); view.setClickable(true);// 防止点击穿透,底层的fragment响应上层点击触摸事件 Toast.makeText(getActivity().getApplicationContext(),"fragmentthree",Toast.LENGTH_SHORT).show(); //通过webView启动网页 startWebView(view); //通过intent启动网页// startWebByIntent(); return view; } //通过webView启动网页 private void startWebView(View view){ //webView加载网页 webView = (WebView)view.findViewById(R.id.webView); //WebView加载web资源 webView.loadUrl("http://test.81717111.com/chenchi"); //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开 webView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } }); //改写物理按键——返回的逻辑 //启用支持javascript WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); webView.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { handler.sendEmptyMessage(1); return true; } return false; } }); } //通过intent启动网页 private void startWebByIntent(){ Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.163.com"); intent.setData(content_url); intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); startActivity(intent); } @Override public void onDestroy() { super.onDestroy(); Toast.makeText(getActivity().getApplicationContext(),"onDestroy--->fragmentthree",Toast.LENGTH_SHORT).show(); }}
阅读全文
0 0
- android的webView加载网页
- Android WebView 加载网页
- android webview加载网页
- Android加载网页WebView
- Android-WebView加载网页
- android 加载webview网页
- Android显示webview加载的网页源码
- Android WebView 加载网页遇到的问题
- WebView的加载网页
- android webview 加载显示网页加载进度条的例子
- android WebView加载网页视频
- android使用webview加载网页
- android使用webview加载网页
- android:使用webview加载网页
- Android之WebView加载网页
- android使用webview加载网页
- Android使用WebView加载网页
- android studio webview加载网页
- Python中的函数(1)
- JavaScript数组
- 图像显著性区域提取[1]——研究现状
- 28. Implement strStr()
- 列出当前系统中各种类型数据占用的字节数
- android的webView加载网页
- LINUX下利用特殊文件系统shm 实现内存的共享
- Activity的用法
- Coursera加密与加密货币导论1-3、1-4数字签名
- 免安装版的mysql5.7的安装和配置(mysql-5.7.18-winx64.zip)
- DOM节点属性
- [CF480D]Parcels
- 智能指针探索(一)——成员变量的释放
- firefox历年版本的官方镜像地址 和 所有的geckodriver.exe驱动大全