Android 自定义控件 单页翻书控件

至此,翻书的控件也写的差不多了,单页翻书控件和之前写的翻书控件大致差不多,之前的是一次显示2页,考虑到屏幕尺寸不一定能刚好达到2页的正常比例,为了不引起变形,继续写了这个单页翻书的控件。

不少网友对我的代码感兴趣,不过因为公司的保密协定,代码不能公布,在此只能提供技术指导,请见谅。

写好这个控件不难,对写过Android游戏的人来说应该很容易,主要采用surfaceView的动画来实现特效,再者,有一句比较关键性的代码:

view.draw(canvas);

通过这句代码,可以把一个已经布局好的View(也就是已经渲染完的)画到一个canvas对象里。对canvas做如下设置:

Bitmap tmpBmp = Bitmap.createBitmap(contentWidth,contentHeight,Bitmap.Config.ARGB_8888);

Canvas mCanvas = new Canvas(tmpBmp);

然后把已经布局好的View画入该画布,这样temBmp里的内容就是View的全部内容,相当于截屏。然后在相应的事件里,计算好位置角度,将tmpBmp画入surfaceview。

单页翻书效果如下:

Android 自定义控件 单页翻书控件

Android 自定义控件 单页翻书控件

Android 自定义控件 单页翻书控件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsxzf.html