From d1a7c6346f2e3b4010e293a501ae1e47564b5dc6 Mon Sep 17 00:00:00 2001
From: mwang <8205347@qq.com>
Date: Fri, 8 Mar 2019 16:10:08 +0800
Subject: [PATCH] working on txt import
---
zhuike/src/main/AndroidManifest.xml | 13 +++++----
.../com/deiniu/zhuike/utils/PageFactory.java | 8 +++--
.../com/deiniu/zhuike/view/PageWidget.java | 3 +-
.../view/animation/SimulationAnimation.java | 29 +++++++++----------
4 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/zhuike/src/main/AndroidManifest.xml b/zhuike/src/main/AndroidManifest.xml
index c913378..61b861d 100644
--- a/zhuike/src/main/AndroidManifest.xml
+++ b/zhuike/src/main/AndroidManifest.xml
@@ -83,11 +83,16 @@
android:label="@string/title_activity_book"
android:parentActivityName=".Main2Activity"
android:theme="@style/ToolBarTheme.NoActionBar" />
+
+
@@ -105,11 +110,7 @@
android:label="@string/app_name"
android:theme="@style/ToolBarTheme.NoActionBar">
-
-
+
= mBookUtil.getBookLen()) {
Log.d(TAG,"已经是本章最后一页了");
@@ -584,8 +586,10 @@ public class PageFactory {
trPage.setEnd(mBookUtil.getPosition());
return trPage;
*/
+
int nextPageNo =currentPage.getPageNo();
- if(nextPageNo == currentChaptPages.size()){
+ Log.e(TAG,"currentChaptPages.size() is " + currentChaptPages.size() +", currentpage pageno is " + nextPageNo);
+ if(nextPageNo >= currentChaptPages.size()){
preChaptPages =currentChaptPages;
currentChapter++;
mBookUtil.setChapterNo(currentChapter);
diff --git a/zhuike/src/main/java/com/deiniu/zhuike/view/PageWidget.java b/zhuike/src/main/java/com/deiniu/zhuike/view/PageWidget.java
index 3d0ae03..0a6c60a 100644
--- a/zhuike/src/main/java/com/deiniu/zhuike/view/PageWidget.java
+++ b/zhuike/src/main/java/com/deiniu/zhuike/view/PageWidget.java
@@ -147,6 +147,7 @@ public class PageWidget extends View {
isRuning = false;
mAnimationProvider.setStartPoint(downX,downY);
abortAnimation();
+ mAnimationProvider.setCancel(false);
Log.e(TAG,"ACTION_DOWN");
}else if (event.getAction() == MotionEvent.ACTION_MOVE){
@@ -238,7 +239,7 @@ public class PageWidget extends View {
Boolean isNext = mTouchListener.nextPage();
mAnimationProvider.setDirection(AnimationProvider.Direction.next);
if (!isNext) {
- return true;
+ return true;
}
} else {
Boolean isPre = mTouchListener.prePage();
diff --git a/zhuike/src/main/java/com/deiniu/zhuike/view/animation/SimulationAnimation.java b/zhuike/src/main/java/com/deiniu/zhuike/view/animation/SimulationAnimation.java
index f44113b..a314ce3 100644
--- a/zhuike/src/main/java/com/deiniu/zhuike/view/animation/SimulationAnimation.java
+++ b/zhuike/src/main/java/com/deiniu/zhuike/view/animation/SimulationAnimation.java
@@ -73,7 +73,7 @@ public class SimulationAnimation extends AnimationProvider {
float array[] = { 1, 0, 0, 0, 0,
0, 1, 0, 0, 0,
0, 0,1, 0, 0,
- 0, 0, 0, 1, 0 };
+ 0, 0.2f, 0.2f, 1, 0 };
cm.set(array);
mColorMatrixFilter = new ColorMatrixColorFilter(cm);
mMatrix = new Matrix();
@@ -86,10 +86,10 @@ public class SimulationAnimation extends AnimationProvider {
public void drawMove(Canvas canvas) {
if (getDirection().equals(Direction.next)) {
calcPoints();
- drawCurrentPageArea(canvas, mCurPageBitmap, mPath0);
- drawNextPageAreaAndShadow(canvas, mNextPageBitmap);
- drawCurrentPageShadow(canvas);
- drawCurrentBackArea(canvas, mCurPageBitmap);
+ drawCurrentPageArea(canvas, mCurPageBitmap, mPath0);
+ drawNextPageAreaAndShadow(canvas, mNextPageBitmap);
+ // drawCurrentPageShadow(canvas); //去除阴影
+ drawCurrentBackArea(canvas, mCurPageBitmap);
}else{
calcPoints();
drawCurrentPageArea(canvas, mNextPageBitmap, mPath0);
@@ -304,13 +304,13 @@ public class SimulationAnimation extends AnimationProvider {
mMatrix.setValues(mMatrixArray);
mMatrix.preTranslate(-mBezierControl1.x, -mBezierControl1.y);
mMatrix.postTranslate(mBezierControl1.x, mBezierControl1.y);
+ // mPaint.setAlpha(0x90);
canvas.drawBitmap(bitmap, mMatrix, mPaint);
// canvas.drawBitmap(bitmap, mMatrix, null);
mPaint.setColorFilter(null);
canvas.rotate(mDegrees, mBezierStart1.x, mBezierStart1.y);
- mFolderShadowDrawable.setBounds(left, (int) mBezierStart1.y, right,
- (int) (mBezierStart1.y + mMaxLength));
+ mFolderShadowDrawable.setBounds(left, (int) mBezierStart1.y, right, (int) (mBezierStart1.y + mMaxLength));
mFolderShadowDrawable.draw(canvas);
canvas.restore();
}
@@ -481,9 +481,9 @@ public class SimulationAnimation extends AnimationProvider {
canvas.save();
if(Build.VERSION.SDK_INT >= 26){
- canvas.clipPath(path);
+ // canvas.clipPath(path); //将正面变空白了
}else {
- canvas.clipPath(path, Region.Op.XOR);
+ // canvas.clipPath(path, Region.Op.XOR); //未试过,低版本手机上效果如何?
}
canvas.drawBitmap(bitmap, 0, 0, null);
try {
@@ -618,11 +618,11 @@ public class SimulationAnimation extends AnimationProvider {
// Log.i("hmg", "mBezierEnd2.x " + mBezierEnd2.x + " mBezierEnd2.y "
// + mBezierEnd2.y);
- /*
- * mBeziervertex1.x 推导
- * ((mBezierStart1.x+mBezierEnd1.x)/2+mBezierControl1.x)/2 化简等价于
- * (mBezierStart1.x+ 2*mBezierControl1.x+mBezierEnd1.x) / 4
- */
+ /*
+ * mBeziervertex1.x 推导
+ * ((mBezierStart1.x+mBezierEnd1.x)/2+mBezierControl1.x)/2 化简等价于
+ * (mBezierStart1.x+ 2*mBezierControl1.x+mBezierEnd1.x) / 4
+ */
mBeziervertex1.x = (mBezierStart1.x + 2 * mBezierControl1.x + mBezierEnd1.x) / 4;
mBeziervertex1.y = (2 * mBezierControl1.y + mBezierStart1.y + mBezierEnd1.y) / 4;
mBeziervertex2.x = (mBezierStart2.x + 2 * mBezierControl2.x + mBezierEnd2.x) / 4;
@@ -650,5 +650,4 @@ public class SimulationAnimation extends AnimationProvider {
CrossP.y = a1 * CrossP.x + b1;
return CrossP;
}
-
}