项目实战:新闻APPday05学习笔记
不否认努力,继续加油!
学习整理重点、盲区,笔记如下:干干巴巴,麻麻赖赖,一点都不圆润……
day05
内容
1. 新闻浏览页面
-
设置点击某一条后变灰色,记录阅读过的新闻
a. 以数组方式记录点击后的id;
对新闻列表 设置点击某一条的监听;当某一条 item 被点击后,取之前保存的,如果数组里面没有包含当前的id,就在之前的id数组后边加上当前的 id ,保存起来并刷新适配器。
b. 在适配器的 getView() 中,如果缓存中的 ID 中存在初始化的这个 item 的 ID 那么让其显示为灰色;否则设置为黑色;
-
新闻浏览页面NewsDetailActivity-使用WebView加载网页
a. 创建新闻详情页面NewsDetailActivity数据接收
b. 创建新闻详情页面布局文件
c. 初始化布局文件;
webView.loadUrl(url);
d. 设置加载效果;监听页面加载完成的时候;隐藏 Progerssbar;
e. 设置支持 javaScript 脚本语言
//设置WebView属性的类 WebSettings setting = webView.getSettings(); //设置支持javaScript setting.setJavaScriptEnabled(true);
f. 设置支持双击缩放
//启用页面上放大缩小按钮 setting.setBuiltInZoomControls(true); //启用页面双击缩放功能 setting.setUseWideViewPort(true); webView.loadUrl(url);
2. WebView字体大小修改
-
点击修改字体大小,弹出单选对话框;设置默认选中第二条;并在点击的时候,记录点击的位置作为 temp,
builder.setSingleChoiceItems(items, currentSelectTextSize, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { tempSelectTextSize = which; ……
-
当点击确定后,再把点击的位置设置为文本的字体大小;
webSettings.setTextZoom(100);
3. 顶部轮播图循环播放
-
自定义 Handler
a. handler 机制;
b. 发送延时消息;消息中将轮播图切换到下一个页面;
-
设置轮播图的触摸事件
a. 给轮播 图 添加触摸事件,当按下时移除 handler 消息;擡起时发送;
b. 存在 BUG:按下后轻微横滑后,触摸事件没有执行 UP,就永远不会自动了;
c. 解决方法;需要用到 ViewPager 的三种状态,
onPageScrollStateChanged() 中,如果是拖拽 SCROLL_STATE_DRAGGING 时,就移除消息;如果是空闲 SCROLL_STATE_IDLE (或者惯性滑动 SCROLL_STATE_SETTLING) 并且之前拖拽了(定义isDragging ,当拖拽后,对其赋值为 true)时,发送消息并将其赋值为 false;
4. Volley 请求网络
- Volley:提供简便的图片加载工具;适用于数据量小,通信频繁的网络操作;
- 在ListView和GridView中请求图片简介
5. 组图页面数据绑定和页面切换
- 使用 volley 请求网络;
- 设置适配器;
- ListView和GridView切换显示
盲区
- 声明:本博客根据尚硅谷项目实战: 北京新闻.学习整理;
其他笔记
新闻APP其他笔记
- day01
第一天的学习笔记: 新闻APP01. - day02
第二天的学习笔记: 新闻APP02. - day03
第三天的学习笔记: 新闻APP03. - day04
第四天的学习笔记: 新闻APP04. - day05
第五天的学习笔记: 新闻APP05. - day06
第六天的学习笔记:新闻APP06. - day07
第七天的学习笔记:新闻APP07.
购物商城APP学习笔记
购物商城APP学习笔记:购物商城