Webview小结,方便新手直接上手
来源:互联网 发布:投稿可以造假数据吗 编辑:程序博客网 时间:2024/05/18 00:05
简单介绍下webview可以直接复制到项目中使用。
1、
界面布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <WebView android:id="@+id/thirdpartwebview" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:scrollbars="none" /></LinearLayout>
2、
代码及介绍
public class ThirdPartyWebView1 extends MainNoBackBaseActivity { @BindView(R.id.thirdpartwebview) WebView thirdpartwebview; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.third_part_webview); } @Override public void initView() { thirdpartwebview.setWebChromeClient(new WebChromeClient()); thirdpartwebview.getSettings().setDefaultTextEncodingName("utf-8");// 避免中文乱码 thirdpartwebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); WebSettings settings = thirdpartwebview.getSettings(); settings.setJavaScriptEnabled(true); settings.setNeedInitialFocus(false); settings.setSupportZoom(true); settings.setAppCacheEnabled(true); //开启缓存功能 settings.setCacheMode(WebSettings.LOAD_DEFAULT); settings.setLoadWithOverviewMode(true);//适应屏幕 settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); settings.setLoadsImagesAutomatically(true);//自动加载图片 settings.setDomStorageEnabled(true);//这里你酌情看看要不要加这句代码,两年代码就遇到一次需要加的,因为界面加载不出来,加了这句话才加载出来的。也是因为要加这句才写这篇博客的。 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { settings.setMixedContentMode(thirdpartwebview.getSettings().MIXED_CONTENT_ALWAYS_ALLOW); //注意安卓5.0以上的权限 }// 封装监听home键 mHomeWatcher = new HomeWatcher(this); mHomeWatcher.setOnHomePressedListener(new HomeWatcher.OnHomePressedListener() { @Override public void onHomePressed() { thirdpartwebview.onPause(); } @Override public void onHomeLongPressed() { } }); mHomeWatcher.startWatch(); } @Override public void initData() { thirdpartwebview.loadUrl(spreadUrl); thirdpartwebview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if(url.endsWith(".apk")){ CLToastUtil.showToast(ThirdPartyWebView1.this,"需要去下载apk"); }else{ view.loadUrl(url); } return false; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); } @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { } }); } //重写返回键被点击的事件 @OnClick(R.id.left_arrow) public void OnClick(View view) { switch (view.getId()) { case R.id.left_arrow: backPress(); break; } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 按下键盘上按钮 if (keyCode == KeyEvent.KEYCODE_BACK) { backPress(); return true; } else { return super.onKeyDown(keyCode, event); } } @Override public void onDestroy() { mHomeWatcher.stopWatch(); super.onDestroy(); }}
阅读全文
0 0
- Webview小结,方便新手直接上手
- Java-MongoDB入门级小程序,方便直接上手使用
- 新手也可以直接上手使用的git方法
- 安卓 WebView 使用小结 避免内存溢出 适合新手
- 新手上手shell
- WebView 小结
- WebView小结
- Git快速上手小结
- GitHub之新手上手篇
- R语言快速上手小结
- SEO优化新手迅速上手技巧
- 新手如何快速上手编写网页
- 新手上手linux虚拟机小tips
- GitHub 新手最快上手之路
- Ubuntu快速上手指南(新手教程)
- ECMAScript6 快速上手(新手必看)
- 厌倦了Windows(/ `. `/)新手上手Centos7
- GCC新手使用小结
- verilog学习笔记(一)
- 文章标题
- Accumulo入门手册
- 车险拍行驶证识别的技术
- 进军中国物联网市场,LoRa不再低调
- Webview小结,方便新手直接上手
- 发布安卓项目到maven中央库
- 编译内核出现的错误
- MapReducer流量统计
- 从mysql层面删除hive元数据
- Java中文排序
- adapter
- CMMI1.3复审ATM成员经历
- 老程序员总结的16条经验教训