当前位置:编程学习 > wap >>

问个关于小说阅读器的问题。



这个图片是“熊猫看书”的截图,我就是想做一个功能和这个功能一样的,载入txt书后,可以像ScrollViewer一样,可以上下移动看书,最下面有个ProgressBar可以根据你上下移动显示书阅读的百分比,现在有如下问题。

1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?

2.书签功能是怎么实现的?

3.怎么算百分比,再绑到ProgressBar上,还有当字体,间距改变的时候,书签记录的位置应该怎么定位?

谢谢各位的回答。。。 --------------------编程问答-------------------- 怎么没有人呐。。。 --------------------编程问答-------------------- 1,你要计算一下一屏能显示多少个字节流比较合适,你翻页的时候再去实时读取下一页的流吧。stream能够根据偏移量来计算的。
2,把偏移量当做书签保存在独立存储空间中,下次打开软件的时候先读这个数据再去读页面数据。
3,ProgressBar是加进时一个等待吧?你的书签不用太精确,记录大概的页面偏移就可以了。 --------------------编程问答-------------------- 1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生textblock 然后插入stackpanel 来显示文字。比如100K一个textblock 插入进去。
当scroll 到最后的时候 去加载后面的

2.书签功能是怎么实现的?
记录当前offset

3.怎么算百分比,再绑到ProgressBar上,还有当字体,间距改变的时候,书签记录的位置应该怎么定位?
还是一个 当前offset/全文大小 就是progressbar的当前值。

注意两个量: 当前阅读offset 当前加载offset
--------------------编程问答--------------------
引用 3 楼  的回复:
1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生tex……


3能不能给些代码,还是没有头绪,怎么在上下滑动的时候算百分比。。 --------------------编程问答-------------------- 你是用什么开发的?我用VS2005写过一个wm5.0的阅读器,自己用的很顺手 --------------------编程问答--------------------
引用 3 楼  的回复:
1.怎么实现滚动看书,开始想的是用ScrollViewer套TextBlock,但是TextBlock有长度限制,超过长度后,就读不出来了,再一个如果这个小说是十几兆的,那一次读出来肯定是不行的,加载不了,网上找了个变通的方法,就是判断长度,再动态的用TextBlock创建内容,但是我只是读了个205K的文件,就报异常了,显示不了。
考虑将txt文件分页读取?怎么实现?
你可以动态的产生tex……
注意两个量: 当前阅读offset 当前加载offset
还有预加载offset否则会延时
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,