- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《QQ侧滑之菜鸟学习总结
一.不同控件之间有相同的继承关系,自定义控件要先找准继承那个控件
二.继承的时候要重写构造函数,然后就是一些方法。LayoutInflater.from(context).inflate(ResourceID,class);一般是(R.,this)
三.使用时要用完整的类名,包名不可省略。
形式为:包名.类名
例如packageName.className/packageName.className
四、自定义viewGroup新的理解(以qq侧滑为例)
侧滑案例的详细分析,本次的viewGroup继承自HorizontalScrollView(注意该布局中只能有个子view,所以本次使用LinearLayout),利用其水平滚动的特性,实现侧滑。利用其能对滑动全过程的监控,实现缩放,以及透明度的变化。
操作的大致方式,qq侧滑看做是两个布局横向拼接到一块,也可以理解为是一个布局分成左右两部分,对左右两部分各自实施具体操作。自定义的viewGroup包括左右两部分,即是把左右两部分看做是他的两个第二级子view,因为继承自HorizontalScrollView,只能有一个子view,所以这两个子view(命名为leftMenu和mContent)在LinearLayout(命名为mWapper)之内。
自定义viewGroup中需要注意的三个重要方法
onMeasure方法,它的用处是,测量子view的宽度和高度,以及自己的宽度和高度。具体操作的代码如下:
第一步通过view.getChildAt();方法获取到指定view例如:
mWapper=(LinearLayout) getChildAt(0);
mMenu=(ViewGroup) mWapper.getChildAt(0);
mContent=(ViewGroup)mWapper.getChildAt(1);
view.getChidAt();方法的简单理解。文档解释为获取到指定的view通过指定一个数字。自己查找理解为,获取当前显示的第一个view(数字为0时),例如在一个listView中通过此方法可以获得当前显示的第一个item假如数字为一时,是显示的第一个item而非所有item中的第一个。
第二步,通过view.getLayoutParams().width();方法设置子view的宽度,此宽度是相对与父布局而言的,且单位是px。
关于此方法的简单理解,view.getWidth();方法获取的是XML 文件中的布局宽度,例如android:layout_width=”100dp”,且单位是dp。
第二个方法onLayout方法,设置子view的位置,即是leftMenu和mContent的位置。
这里有一段解释scrollTo()与scrollBy()的区别,我看了之后感觉很容易明白:
假设有一个View,它叫做SView。
如果想把SView从(0, 0)移动到(100, 100)。注意,这里说的(0, 0)和(100, 100),指的是SView左上角的坐标。那么偏移量就是原点(0, 0)到目标点(100, 100)的距离,即(0 , 0) - (100, 100) = (-100, -100)。
只需要调用SView.scrollTo(-100, -100)就可以了。请再次注意,scrollTo(int x, int y)的两个参数x和y,代表的是偏移量,这时的参照物是(0, 0)点。
然而,scrollBy()是有一定的区别的。scrollBy()的参照物是(0, 0)点加上偏移量之后的坐标。
这么描述比较抽象,举个例子。假设SView调用了scrollTo(-100, -100),此时SView左上角的坐标是(100, 100),这时再调用scrollBy(-20, -20),此时SView的左上角就被绘制到了(120, 120)这个位置。总结一下,scrollTo()是一步到位,而scrollBy()是逐步累加。
我的理解即是两个方法的参照物不同,但都是使一个物体偏移的方法。scrollTo(x,y);的方法是以原点为参照物的(向右和向下为负方向),即是屏幕左上角,它的参照物是固定的。而scrollBy(x,y);方法是以点(x,y)为参照物的。换句话说就是,scrollTo就是把View移动到屏幕的X和Y位置,也就是绝对位置。而scrollBy其实就是调用的scrollTo,但是参数是当前mScrollX和mScrollY加上X和Y的位置。
具体操作是利用view.scrollTo(leftMenuWidth,0);使得左边的leftMenu布局偏移到屏幕之外,偏移的宽度是其宽度。同时在屏幕中只显示mContent,所以mConten
您可能关注的文档
- 《php5.2.6与phpmyadmin3.1的相关设置.doc
- 《淮盐矿业公司绩效考核管理暂行办法41.doc
- 《PHP5.38安装过程.doc
- 《pep小学英语六年级下Unit2PartA新授课教案.doc
- 《Photoshop的文件格式.doc
- 《php5.4.0安装Inwindows,配置.doc
- 《淮阴中学2012.docx
- 《淮阴中学高三数学一轮复习学案函数与方程.doc
- 《phpapache配置方法.doc
- 《淮阴中学高三数学一轮复习学案函数的性质及其应用.doc
- 5.2社会历史的发展 课件-高中政治统编版必修四哲学与文化.pptx
- 第三课 我国的经济发展 课件-高考政治一轮复习统编版必修二经济与社会.pptx
- 第一单元 整理和复习 (课件)-一年级下册数学(北师大版2024).pptx
- 第一单元第7课时 做个加法表(课件)-一年级下册数学(北师大版2024).pptx
- 5.4 一元一次方程与实际问题(第2课时)(课件)七年级数学上册(青岛版2024).pptx
- 5.3 社会历史的主体(课件)高二政治《哲学与文化》课件(统编版必修4).pptx
- Unit 3 Learning better Part A 第1课时 人教PEP版(2024)英语三年级下册.pptx
- 第一单元 第1课时 认识平面图形(课件)一年级数学下册(人教版2024).pptx
- 第八单元 写话:我会想办法(课件)一年级语文上册单元写话能力提升(统编版2024).pptx
- Unit 4 What’s your hobby 第4课时(Fuel up) 外研版(三起)(2024)英语三年级下册.pptx
最近下载
- GBZ188-2014 职业健康监护技术规范(代替GBZ188-2007).pdf
- 劳务报酬合同.docx VIP
- 标牌、标线、波形护栏 等配套交通安全设施采购服务方案.docx
- 医院感染预防和控制评价规范.pptx
- 装修隔断工程施工方案(3篇).docx VIP
- 机箱用连接器的介绍.doc VIP
- 毕业设计论文_基于单片机STC89C52为控制器的LED点阵显示屏系统的设计.doc
- 名著导读《经典常谈》系列之《诗》第十二、《文》第十三-八年级语文下册课件.pptx VIP
- 2024年(高级)政工师理论考试题库及答案(含各题型) .docx
- 深入贯彻中央八项规定精神学习教育党课(ppt).pptx VIP
文档评论(0)