android 翻页效果求解

zhaoyu_android4311 2011-10-24 08:27:29
最近再做一款读书软件,需求要实现ipad上翻页效果,在网上查了查资料,也找到一两个源代码,比如用贝塞尔曲线或opengl实现的,但苦于前者设计数学且作者源代码比较复杂理解上稍有苦难,后者opengl小弟刚涉及android还未有3d图形方面的经验,所以决定用前一版贝塞尔曲线实现的方法,但代码上理解还是比较苦难,请问有没有那位android同志看过那套代码,并且加过注释,分享一下给我,小弟十分感谢,虽说可以网上直接拿下来用,但是小弟还是想学习学习,毕竟选了这方面工作吗,不想不求甚解,虽然自己脑子笨,望能分享一下,网上我也找到相关解释的,但还是不太清楚,尤其是为了防止翻书时不超越书底部边界以及书角翻起计算阴影部分的代码,小弟能力十分有限,望看过类似代码的android高手同志把我点醒,帮我过了这个难关,谢谢了~~
...全文
234 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyu_android4311 2011-10-26
  • 打赏
  • 举报
回复
这个例子你看下:http://blog.csdn.net/hmg25/article/details/6419694这个地址的讲解我看过,但他说的比较粗,我还是愚笨不太理解
coxfilur_2008 2011-10-24
  • 打赏
  • 举报
回复
代码在哪里下载?
小裴同学 2011-10-24
  • 打赏
  • 举报
回复
在eoe上面有一个翻页效果。代码很简单。你可以去看下。
念茜 2011-10-24
  • 打赏
  • 举报
回复
Jay_+wqq_635731323 2011-10-24
  • 打赏
  • 举报
回复
Jay_+wqq_635731323 2011-10-24
  • 打赏
  • 举报
回复
电子书项目刚做了一个。现在手机电子书貌似不太采用翻页效果吧,一是效率不高,二是用户体验麻烦。学习的角度我也想琢磨下翻页,但是如果是项目实践,我觉得滑动的效果就足够了
翻页效果,导入源码即可运行。 package sf.hmg.turntest; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; import android.graphics.PointF; import android.graphics.Region; import android.graphics.drawable.GradientDrawable; import android.util.Log; import android.view.MotionEvent; import android.view.View; public class PageWidget extends View { private static final String TAG = "hmg"; private int mWidth = 480; private int mHeight = 800; private int mCornerX = 0; // 拖拽点对应的页脚 private int mCornerY = 0; private Path mPath0; private Path mPath1; Bitmap mCurPageBitmap = null; // 当前页 Bitmap mCurPageBackBitmap = null; Bitmap mNextPageBitmap = null; PointF mTouch = new PointF(); // 拖拽点 PointF mBezierStart1 = new PointF(); // 贝塞尔曲线起始点 PointF mBezierControl1 = new PointF(); // 贝塞尔曲线控制点 PointF mBeziervertex1 = new PointF(); // 贝塞尔曲线顶点 PointF mBezierEnd1 = new PointF(); // 贝塞尔曲线结束点 PointF mBezierStart2 = new PointF(); // 另一条贝塞尔曲线 PointF mBezierControl2 = new PointF(); PointF mBeziervertex2 = new PointF(); PointF mBezierEnd2 = new PointF(); float mMiddleX; float mMiddleY; float mDegrees; float mTouchToCornerDis; ColorMatrixColorFilter mColorMatrixFilter; Matrix mMatrix; float[] mMatrixArray = { 0, 0, 0, 0, 0, 0, 0, 0, 1.0f }; boolean mIsRTandLB; // 是否属于右上左下 // for test float mMaxLength = (float) Math.hypot(480, 800); int[] mBackShadowColors; int[] mFrontShadowColors; GradientDrawable mBackShadowDrawableLR; GradientDrawable mBackShadowDrawableRL; GradientDrawable mFolderShadowDrawableLR; GradientDrawable mFolderShadowDrawableRL; GradientDrawable mFrontShadowDrawableHBT; GradientDrawable mFrontShadowDrawableHTB; GradientDrawable mFrontShadowDrawableVLR; GradientDraw

80,352

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧