首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

当展示内容过多时的滚屏类Container.java

2012-09-05 
当显示内容过多时的滚屏类Container.java很多时候,由于手机屏幕太小,一下子显示不了那么多内容,这个时候就

当显示内容过多时的滚屏类Container.java
很多时候,由于手机屏幕太小,一下子显示不了那么多内容,这个时候就需要通过按键一点一点的显示下面的内容(相当于浏览器中的滚动条的功能)。我做了一个类,能够一点一点的显示内容。其实就是个容器,把内容统统放在容器中,计算全部内容的高度,计算每屏显示的高,每次移动的高度,需要移动的总次数,通过这些量就能确定滚动情况了。
PS:我讨厌C/S架构的程序,原因就是很多问题都要自己去考虑,比如滚动条、文字换行啊什么的。而B/S架构就不需要考虑这种“低级问题”,浏览器帮我们解决了。


只要注意3个地方就可以了。构造函数中需要告诉它内容总高度是多少,每屏显示的高是多少,每按键一次移动的高度是多少,通过这3个参数就能确定滚动情况了。
还有就是在keyPressed和paint中注意调用它的两个方法。


当然在内容过长时,旁边加个滚动条就更好了,改一下Container的paint()方法就可以了。
另外这里显示的都是文字,并且循环了for(int i=0;i<contents.length;i++)很多次,当然没这个必要,万一碰到有图有文字的时候此类也可以用,不过可能需要在container.keyPressed(keyCode);上加些条件罢了。


下面是添加了滚动条之后的类,注意构造函数多了一个变量,用于表示滚动条从哪里开始画:


注意图最右边的滚动条了吗?:)。滚动条颜色大小啊什么的需要自己根据实际情况“改装”,我这个是最简单的画法了,呵呵。

热点排行