webview操作
来源:互联网 发布:淘宝客服培训工作计划 编辑:程序博客网 时间:2024/06/06 07:27
刷新当前页面
滚动到顶部
获取网站标题
在当前软件中使用内置浏览器
设置屏幕自适应
开启文件下载
设置隐藏标题栏
设置隐藏状态栏全屏
加载进度条
实现标题栏透明
获取当前网页url
兼容优酷播放视频
开启硬件加速,耗电量增加,解析速度加快
文本操作到剪切板
开启web缓存
判断是否有网络
设置自动加载图片
设置延迟加载图片
设置edittext输入完后判断输入法按下
判断操作输入法
设置输入栏隐藏
点击EditText选中全部
退出
开启横屏
wView.reload();
滚动到顶部
wView.setScrollY(0);
获取网站标题
wView.setWebChromeClient(new WebChromeClient() {// 这里设置获取到的网站titlepublic void onReceivedTitle(WebView view, String title) {super.onReceivedTitle(view, title);txt_title.setText(title);}});
在当前软件中使用内置浏览器
wView.setWebViewClient(new WebViewClient() {// 在webview里打开新链接/*允许网页重定向,如不允许,去掉代码,加false*/public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true; }});/*注意,如果取消重定向,http,https开头取消重定向,优酷就不可以*/public boolean shouldOverrideUrlLoading(WebView view, String url) {if (url.startsWith("http:") || url.startsWith("https:")) {return false; // 取消重定向} else {return true;}
设置屏幕自适应
WebSettings settings = wView.getSettings();settings.setUseWideViewPort(true);//设定支持viewportsettings.setLoadWithOverviewMode(true); //自适应屏幕settings.setBuiltInZoomControls(true);settings.setDisplayZoomControls(false);settings.setSupportZoom(true);//设定支持缩放settings.setDisplayZoomControls(false); //取消缩放控件wView.getSettings().setJavaScriptEnabled(true); //开启js执行
开启文件下载
wView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { if (url != null && url.startsWith("http://")) startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); } });
设置隐藏标题栏
/*那个activity要去掉NoTitleBar就加入哪个内*/android:windowTranslucentStatus="true"android:windowTranslucentNavigation="true"android:theme="@android:style/Theme.Holo.NoActionBar.TranslucentDecor" //完全没有操作栏半透明的主题(好看)
设置隐藏状态栏全屏
/*要写在setContentView前*//*隐藏状态栏*///隐藏标题栏 requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 //定义全屏参数 int flag=WindowManager.LayoutParams.FLAG_FULLSCREEN; //获得当前窗体对象 Window window=MainActivity.this.getWindow(); //设置当前窗体为全屏显示 window.setFlags(flag, flag);
加载进度条
/*滚动条*/ <ProgressBar style="?android:attr/progressBarStyleHorizontal" android:id="@+id/myProgressBar" android:layout_below="@id/myButton" android:layout_width="match_parent" android:layout_height="5px" />final ProgressBar bar = (ProgressBar)findViewById(R.id.myProgressBar);主activity内部加入webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { bar.setVisibility(View.INVISIBLE); } else { if (View.INVISIBLE == bar.getVisibility()) { bar.setVisibility(View.VISIBLE); } bar.setProgress(newProgress); } super.onProgressChanged(view, newProgress); } });
实现标题栏透明
/*包括上下文菜单通知*/android:windowTranslucentStatus="true"android:windowTranslucentNavigation="true"android:theme="@android:style/Theme.Holo.NoActionBar.TranslucentDecor"
获取当前网页url
wView.getOriginalUrl();
兼容优酷播放视频
//在Application节点上增加 :android:hardwareAccelerated="true"//在布局文件中,写入(webview)android:layerType="hardware"//代码写入:WebSettings settings_one = wView.getSettings();settings.setDatabaseEnabled(false);settings.setDomStorageEnabled(false);
开启硬件加速,耗电量增加,解析速度加快
<application android:hardwareAccelerated="true"> <activity ... />
文本操作到剪切板
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);cm.setText(wView.getOriginalUrl());
开启web缓存
/*清单加入:*/<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />WebSettings settings_item_hcon = wView.getSettings(); // 设置webview对象settings_item_hcon.setAppCacheMaxSize(1024*1024*8); //设置大小String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath(); //获取缓存路径settings_item_hcon.setAppCachePath(appCachePath); //设置htm5缓存路径settings_item_hcon.setAllowFileAccess(true); //设置允许文件访问settings_item_hcon.setAppCacheEnabled(true); // 开启htm5缓存settings_item_hcon.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); // 只要本地有,无论是否过期,都使用缓存中的数据wView.clearCache(boolean) //清空缓存
判断是否有网络
ConnectivityManager _cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // 开启服务NetworkInfo info = _cm.getActiveNetworkInfo(); // 判断是否有网络if (info == null) {} else {}
设置自动加载图片
wView.getSettings().setLoadsImagesAutomatically(false); //设置自动加载图片
设置延迟加载图片
wView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH); //提高渲染级别webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 return true; } public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); webView.getSettings().setBlockNetworkImage(true); } public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); webView.getSettings().setBlockNetworkImage(false); } });
设置edittext输入完后判断输入法按下
android:imeOptions="actionSearch" //输入法显示搜索 有很多类别自行百度/*主类实现接口:implements OnEditorActionListener*//* Edittext加载监听 */editText_title.setOnEditorActionListener(this);EditText_geturl.setOnEditorActionListener(this);/*EditText监听*/public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {doWhichOperation(actionId); //当点击传入actionId判断return true;}
判断操作输入法
private void doWhichOperation(int actionId) {switch (actionId) {case EditorInfo.IME_ACTION_GO: //筛选条件判断按下了?自行百度break;case EditorInfo.IME_ACTION_SEARCH:break;default:break;}}
设置输入栏隐藏
InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); //隐藏输入法
点击EditText选中全部
dittext = (EditText) findViewById(R.id.url_input);url_input.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) { //点击选择所有文本edittext.requestFocus(); //当点击时焦点转到edittextedittext.setSelectAllOnFocus(true);// TODO Auto-generated //点击选中所有文本// method stub}});
退出
/*杀进程*/System.gc(); //杀进程 只是关闭进程wView.clearCache(boolean) //清空缓存System.exit(0); //关闭程序真正关闭
开启横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
关闭横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
最后分享我的浏览器在GitHub
1 0
- webview操作
- webview的基本操作
- android webview 操作详解。
- webview的一些操作
- 【WebView】Android WebView中的Cookie操作
- 【WebView】Android WebView中的Cookie操作
- WebView 的button多操作
- Android WebView的几个操作
- android WebView的低级操作
- Android之WebView 超时操作
- android中在webview里操作文件
- 【Android】Android WebView 的几个操作
- WebView基本操作与js之间调用
- 【Android】Android WebView 的几个操作
- iOS 中webView加载高级操作
- WebView中的视频全屏的相关操作
- 【Android】Android WebView 的几个操作
- iOS webView 加载文件 及 文件操作
- 微信公众号图片上传至阿里云OSS
- 分析注释 sequence_input_layer.py
- java网络编程Socket
- 制作最小linux内核(1)
- bzoj3172 AC自动机+标记和
- webview操作
- Android 6.0权限机制
- java之多态与抽象与接口!!!
- AKKA学习笔记
- 程序员必读书籍及导读指南
- Oracle 11GR2的递归WITH子查询
- Android硬件访问服务学习之(一)Android通过JNI访问硬件
- 序列化方案性能评测 DIY
- JVM内存