本文由imhurley整理,分析类似人人网android客户端5.7版中的侧滑菜单的实现分析;分析内容是我结合看书(Android应用案例开发大全 书籍 计算机教材 商城 正版 文轩网),以及自己调试,发现树上的内容很好,下面我来整理自己的思路和大家分享一下。
首先,需要跟着imhurley了解的是,我们做这个东西,需要涉及到哪些知识点,我觉得,如果是做一个可以在实际生产活动中使用的项目的话,至少需要涉及到以下几点:
- view的可视区域和屏幕区域;
- horizontalscrollview的使用方法;
- 怎么协调处理各部分的各个联动关系;
那么接下来,我们说说第一点,view的可是区域和屏幕区域的关系。有没有想过,我们平时设置view的width和height的时候,设置的常常是这些match_parent/fill_parent/wrap_content,或者有时候会使用具体的小于屏幕长和宽的数值,那么假如我们设置的数值如果大于屏幕的长和宽,结果会怎么样?
是的,尝试之后我们会发现,超出屏幕的数值部分不会显示出来,那么他们到底是个什么情况啊?我们尝试一下一个长宽为1000dp的textview,向其填充很多的文字,然后设置其为singline,之后调试,发现后面的文字无法显示,但是当我们调用textview的scrollto(x,y)/scrollby(x,y)函数的时候,其他部分的文字实际上市可以显示出来的。
好的,清楚了上面的知识,我们就可以清楚了,其实我们分析人人网客户端使用的方法就是,移动内容显示部分,用来遮盖或者显示出其下面的菜单内容,从而达到那样的效果。为了让内容部分的移动实现,我们使用简单的继承horizontalscrollview的方式来完成任务。
在选择使用horizontalscrollview的时候,我们得思考清楚,我们需要使用他的各个细节。