时间:2015-04-17 来源:

为ViewPager添加一个indicator 【云计算】

注意: CirclePageIndicator不会覆盖 ViewPager 的 OnPageChangeListener

实现这个功能也比较简单承接网站前端,然后把这个LinearLayout和ViewPager作为子元素放在一个FrameLayout中,html切图报价这样 indicator 的 LinearLayout 会在显示在 ViewPager 的上层团队网页接活,初步达到了显示效果,团队网页接活 LayoutParams.WRAP_CONTENT); params.leftMargin = indicatorSpacing; params.rightMargin = indicatorSpacing; img.setImageResource(R.drawable.circle_indicator_stroke); addView(img, params); } if (count > 0) { ((ImageView) getChildAt(0)).setImageResource(R.drawable.circle_indicator_solid); } } 我希望 CirclePageIndicator 的用法足够简单,网页切图制作简单到只需要一条语句就可以把它附加到 ViewPager 上.

public class CirclePageIndicator extends LinearLayout 如果要优雅地实现这个类div+css+js切图, 这里先定义好这个方法承接网站前端,等到后看再用.

public void setViewPager(ViewPager pager) { userDefinedPageChangeListener = getOnPageChangeListener(pager); pager.setOnPageChangeListener(this); addIndicator(pager.getAdapter().getCount()); } 为了能监听 ViewPager 中 PageChange 时间,承接网站前端让 CirclePageIndicator 实现了 ViewPager.OnPageChangeListener 这个接口psd切图html,然后在 setViewPager 的时候,psd切图html为 ViewPager 添加这个 listener.

但是web外包,这样问题又来了,div切图排版如果 ViewPager 在传入之前已经有了 listener ,这里很显然会把之前的 listener 给覆盖掉,网页切图制作这个也好办div+css+js切图,稍微 hack 一下,div+css+js切图用反射把之前的 listener 拿到就可以了.

ViewPager是Android提供的一个良心组件承接网站前端,有了它分分钟就可以实现了一个水平滑动的分页功能,页面div重构其中用ViewPager来全屏展示图片是一个比较经典的使用场景psd切图html,先来看一下效果图:

private ViewPager.OnPageChangeListener getOnPageChangeListener(ViewPager pager) { try { Field f = pager.getClass().getDeclaredField("mOnPageChangeListener"); f.setAccessible(true); return (ViewPager.OnPageChangeListener) f.get(pager); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } 剩下的把 ViewPager.OnPageChangeListener 中的方法实现一下,psd切图html根据 page 的变化更新 indicator 就完成了.

在每个Page的底部中间位置有一排圆圈web外包,实心的圆圈用来指示当前显示的图片,手机网页制作它会随着手指滑动而移动网页切图制作,我们可以称之为 ViewPager 的 indicator.

$(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

点击次数:2910
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日iOS开发--漫谈内存管理(一)【移动开发】2015年06月29日2015年创业中遇到的技术问题:41-50 【编程语言】2015年03月27日RemoveElement【编程语言】2015年01月30日负载均衡【移动开发】2015年06月17日用php过滤危险html代码的函数2014年01月29日JQuery下关于$.Ready()的分析2014年01月29日java线程中的interrupt,isInterrupt,interrupted方法 【Web前端】2015年05月11日LeetCode---92.ReverseLinkedListII 【编程语言】2015年04月13日JFinal+maven+freemarker入门教程 【互联网】2014年12月30日IIS下MySQL停止和启动的方法 【编程语言】2014年11月19日恩布企业IMPC端,服务端发布1.16版本 【Web前端】2015年07月22日杭电HDUACM1085HoldingBin-LadenCaptive!2015年04月27日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日pat(B)1001.害死人不偿命的(3n+1)猜想 【编程语言】2015年08月03日JAVAJSP学习系列之三(Resin+Apache的安装)2014年01月29日Linux编译安装GCC-5.1.0 【移动开发】2015年05月05日指针参数是如何传递内存的? 【移动开发】2015年02月13日网页表单文档设计及技术实现 【移动开发】2015年05月25日基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解2014年01月29日HDU4630NoPainNoGame(线段树离线查询) 【数据库】2015年07月29日超五千万网友账号泄露蝴蝶效应源于黑客拖库 ,,2016年06月23日图解STL内存管理的两种边界情况(STL源码剖析补充) 【编程语言】2014年12月04日POI-----POI操作Excel-6、超链接 【编程语言】2015年08月03日二叉排序树(BST):创建、查找、插入与删除 【编程语言】2015年07月07日Android笔记二十五.Android事件Handler消息传递机制 【编程语言】2015年03月18日JAX-RS开发(二):helloworld 【编程语言】2015年04月13日c语言结构体中动态数组的使用 【系统运维】2015年09月02日springmvc上传文件常见问题及解决办法【编程语言】2015年07月03日UVALive3135--Argus+自定义优先队列的优先规则 【编程语言】2015年06月11日linux之SQL语句简明教程---UPDATEDELETEFROM 【编程语言】2014年12月16日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)