简述RecyclerView控件
是Android5.0新出的控件,用于在有限的窗口中展示大量数据集,可以在一个界面实现多个界面转换,提供一种插拔式的体现,高度解耦异常灵活,可以替代ListView,GridView,瀑布流等。
类名 | 简要说明 |
---|---|
RecyclerView.Adapter | 托管数据集合,为每个item创建视图 |
RecyclerView.ViewHolder | 承载item视图的子视图 |
RecyclerView.LayoutManager | 负责item视图的布局 |
RecyclerView.ItemDecoration | 为每个item视图添加子视图,在Demo中用于绘制Divider |
RecyclerView.ItemAnimator | 负责添加,删除数据时的动画效果 |
简述WebView控件
主要用于显示网页内容,大大简化了客户端的开发工作。
该控件常用loadUrl()方法直接加载一个网页或本地文件(该文件放在assets目录中),也可以用loadDataWithBaseURL()方法加载一个字符串。需要在清单文件加入访问网络权限。
方法 | 简要说明 |
---|---|
WebView.getSettings().setJavaScripEnable(boolean enabled) | 是否支持JS,若想让Java与JS能够交互或希望JS能完成一定的功能,设置为true |
WebView.getSettings().setSupportZoom(boolean enabled) | 是否支持缩放,默认为true |
WebView.getSettings().setBuiltInZommControls(boolean enabled) | 是否显示缩放工具,默认为false |
WebView.getSettings().setDefaultFontSize(int size) | 默认字体大小为16,有效值区间为1~72 |
WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN) | 设置网页内容重新布局的模式,用于设置网页自适应屏幕的规则 |
在WebView控件上点击链接打开很多页面后,若不做任何处理,点击系统返回键,整个浏览器会调用finish()方法结束自身。若希望页面回退而不是退出,则需要在当前Activity中处理消费掉该Back事件,同时覆盖Activity类的onKeyDown()方法。
若在WebView控件上点击链接由该控件自己来处理,则需要给WebView控件添加一个监听对象WebViewClient,并重写其中的shouldOverrideUrlLoading()方法,对网页中的超链接按钮进行响应。当按下某个链接时,WebViewClient会调用shouldOverrideUrlLoading()方法,并将按下的url作为参数传递给该方法。
WebView与JavaScript如何进行交互
在Android4.2之后JavaScript的注入需要加入注解”@JavascriptInterface”。
1.Android端调用HTML中的JS代码
只需要在初始化WebView控件时,开启该控件对JS的支持,然后先调用loadUrl()方法来加载HTML文件,再次调用该方法完成对JS代码的调用。
2.JS代码调用Android端的代码
先为WebView控件绑定一个JavascriptInterface类,JS脚本通过该类对Java代码进行调用。