From d2d2c898617f6271d2ffdcf0bfda2d9beebc9684 Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Fri, 4 Jun 2021 16:37:11 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- photodraweeview/build.gradle | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30b12d3..94d29c4 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ + 功能:手势处理图片缩放 + 项目移植状态:主功能完成 + 调用差异:无 -+ 开发版本:sdk5,DevEco Studio2.1 beta4 ++ 开发版本:sdk5,DevEco Studio2.1 Release + 基线版本:PhotoDraweeView releases/Tags version v2.0.0 ## 项目演示 @@ -37,7 +37,7 @@ dependencies { } ``` -在sdk5,DevEco Studio2.1 beta3下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 +在sdk5,DevEco Studio2.1 Release下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ## 使用教程(可以参考本工程的entry模块) diff --git a/photodraweeview/build.gradle b/photodraweeview/build.gradle index bac4a1b..dcb89d9 100644 --- a/photodraweeview/build.gradle +++ b/photodraweeview/build.gradle @@ -1,4 +1,12 @@ apply plugin: 'com.huawei.ohos.library' +apply from: '../upload.gradle' + +rootProject.ext { + DEFAULT_GROUP_ID = 'com.gitee.chinasoft_ohos' //固定的groupId,服务商自行申请 + DEFAULT_ARTIFACT_ID = "PhotoDraweeView" //项目ID,填写项目名称。 + DEFAULT_VERSION = '0.0.4-SNAPSHOT' //版本号,发新版本时修改 +} + ohos { compileSdkVersion 5 defaultConfig { -- Gitee From 784e034e580dc60d8dbf6bf381d39744bd9df05c Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Mon, 7 Jun 2021 16:46:55 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E4=BF=AE=E6=94=B9codecheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../relex/photodraweeview/sample/provider/ImageProvider.java | 2 +- .../src/main/java/com/me/relex/photodraweeview/PhotoView.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java index b949a89..5457907 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java @@ -102,7 +102,7 @@ public class ImageProvider extends BaseItemProvider implements OnEnableListener /** * viewHolder * - * @since v0.1.0-alpha + * @since 2021-06-07 */ private static class ViewHodler { private PhotoView image; diff --git a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java index b9621fc..d1563c4 100644 --- a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java +++ b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java @@ -486,10 +486,10 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co * * @return 对角线值 */ - private int getScreenDiagonal() { + private double getScreenDiagonal() { int width = mDisplayAttributes.width; int height = mDisplayAttributes.height; - return (int) Math.sqrt(width * width + height * height); + return Math.sqrt(width * width + height * height); } @Override -- Gitee From 2fd01cdade6b446de658973faa6f7123c7c5351a Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Mon, 7 Jun 2021 18:43:46 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 94d29c4..235700c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ + 功能:手势处理图片缩放 + 项目移植状态:主功能完成 + 调用差异:无 -+ 开发版本:sdk5,DevEco Studio2.1 Release ++ 开发版本:sdk5,DevEco Studio 2.1 Release + 基线版本:PhotoDraweeView releases/Tags version v2.0.0 ## 项目演示 @@ -37,7 +37,7 @@ dependencies { } ``` -在sdk5,DevEco Studio2.1 Release下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 +在sdk5,DevEco Studio 2.1 Release下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ## 使用教程(可以参考本工程的entry模块) -- Gitee From c089d2dff6a86e6a17df1b60898baef6c27c408d Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Mon, 7 Jun 2021 19:27:37 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E4=BF=AE=E6=94=B9codecheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../photodraweeview/sample/CustomTitle.java | 3 +- .../photodraweeview/sample/SingleAbility.java | 1 - .../sample/provider/ImageProvider.java | 1 - .../slice/SharedElementAbilitySlice.java | 1 - .../sample/slice/SingleAbilitySlice.java | 1 + .../me/relex/photodraweeview/PhotoView.java | 40 +++++++++---------- .../relex/photodraweeview/PhotoViewFrame.java | 3 +- .../me/relex/photodraweeview/utils/Util.java | 1 - 8 files changed, 24 insertions(+), 27 deletions(-) diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/CustomTitle.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/CustomTitle.java index 30b1b9c..6766867 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/CustomTitle.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/CustomTitle.java @@ -80,7 +80,8 @@ public class CustomTitle extends DirectionalLayout implements Component.ClickedL * @param context 上下文 */ private void initView(Context context) { - Component layout = LayoutScatter.getInstance(context).parse(ResourceTable.Layout_custom_title, this, true); + Component layout = LayoutScatter.getInstance(context).parse( + ResourceTable.Layout_custom_title, this, true); DependentLayout mLayout = (DependentLayout) layout.findComponentById(ResourceTable.Id_depenent_lauout); mBackImg = (Image) layout.findComponentById(ResourceTable.Id_title_back_img); mTitleTex = (Text) layout.findComponentById(ResourceTable.Id_title_text); diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/SingleAbility.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/SingleAbility.java index cb168c5..585140d 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/SingleAbility.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/SingleAbility.java @@ -10,7 +10,6 @@ import ohos.aafwk.content.Intent; * @since 2021-03-27 */ public class SingleAbility extends Ability { - @Override public void onStart(Intent intent) { super.onStart(intent); diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java index 5457907..65a4c43 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/provider/ImageProvider.java @@ -87,7 +87,6 @@ public class ImageProvider extends BaseItemProvider implements OnEnableListener @Override public void onComponentUnboundFromWindow(Component component) { - } }); } diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SharedElementAbilitySlice.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SharedElementAbilitySlice.java index 6410a3f..e432070 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SharedElementAbilitySlice.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SharedElementAbilitySlice.java @@ -29,7 +29,6 @@ import ohos.agp.components.Image; * @since 2021-03-27 */ public class SharedElementAbilitySlice extends AbilitySlice implements Component.ClickedListener { - @Override public void onStart(Intent intent) { super.onStart(intent); diff --git a/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SingleAbilitySlice.java b/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SingleAbilitySlice.java index 0f6b64d..f3694af 100644 --- a/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SingleAbilitySlice.java +++ b/entry/src/main/java/com/me/relex/photodraweeview/sample/slice/SingleAbilitySlice.java @@ -146,6 +146,7 @@ public class SingleAbilitySlice extends AbilitySlice implements Component.Clicke .setDuration(TOAST_SHOW_DURATION) .setOffset(0, TOAST_SHOW_Y) .show(); + } else { } } diff --git a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java index d1563c4..9c823a0 100644 --- a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java +++ b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java @@ -183,17 +183,14 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co private class StateChangedListener implements Animator.StateChangedListener { @Override public void onStart(Animator animator) { - } @Override public void onStop(Animator animator) { - } @Override public void onCancel(Animator animator) { - } @Override @@ -204,12 +201,10 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co @Override public void onPause(Animator animator) { - } @Override public void onResume(Animator animator) { - } } @@ -255,6 +250,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co mCurrentPointer = 1; } else if (mCurrentPointer == 0 && touchEvent.getPointerCount() >= 2) { mCurrentPointer = 2; + } else { } if (touchEvent.getPointerCount() == 1 && mCurrentPointer == 1) { // 单指操作 @@ -264,6 +260,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co } else if (touchEvent.getPointerCount() >= 3) { isMultiFinger = true; doublePointerMove(component, touchEvent); + } else { } break; case TouchEvent.OTHER_POINT_DOWN: @@ -362,6 +359,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co positionX = widthBoundary; } else if (Math.abs(toX) > 1 && toX < 0 && positionX < -widthBoundary) { positionX = -widthBoundary; + } else { } if (Math.abs(toY) > 1 && toY > 0 && (positionY >= heightBoundary)) { @@ -371,6 +369,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co positionY = heightBoundary - (int) (getHeight() * scaleFloat - mDisplayAttributes.height); } else if (isRecyclerView && Math.abs(toY) > 1 && toY < 0 && (positionY < -heightBoundary)) { positionY = -heightBoundary; + } else { } // 在touch事件生效前,判断是否已滚动到最左边还是最右边,如果已滚动到,则需要把事件交给PageSlider @@ -405,7 +404,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co } else { if (value - baseValue >= 50 || value - baseValue <= -50 || c >= 4) { c ++; - if (c < 4){ + if (c < 4) { return; } d = 0; @@ -415,7 +414,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co return; } - if (Math.abs(value - mLastMoveValue) > 200){ + if (Math.abs(value - mLastMoveValue) > 200) { return; } @@ -425,11 +424,9 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co scale = newScale; } else { if (newScale > MIN_SCALE) { - // 控制缩小比例 scale = newScale; } else { - // 最低缩小到0.5 scale = MIN_SCALE; } @@ -458,7 +455,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co } } else { d ++; - if (d < 4){ + if (d < 4) { return; } c = 0; @@ -494,7 +491,6 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co @Override public void onDoubleClick(Component component) { - } /** @@ -552,13 +548,11 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co } if (heightBoundary != 0 && Math.abs(toY) > 1 && toY > 0 && heightBoundary == getComponentPosition().top) { - // 到顶部 mEnableListener.onEnable(true); return true; } else if (heightBoundary != 0 && Math.abs(toY) > 1 && toY < 0 && heightBoundary + getComponentPosition().bottom == getHeight()) { - // 到底部 mEnableListener.onEnable(true); return true; @@ -675,7 +669,6 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co * @param component Component */ public void doubleClick(Component component) { - } /** @@ -744,7 +737,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co return; } - if (diffValue == 0){ + if (diffValue == 0) { return; } @@ -753,11 +746,13 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co double getNowPositionX = getContentPositionX() > 0 ? (getContentPositionX() + scaleDevX) : (getContentPositionX() - scaleDevX); int x = mLastPositionX == 0 ? (int) getNowPositionX : (int) mLastPositionX; - mLastWidthBoundary = mLastWidthBoundary == 0 ? (getWidth() * (getScaleX() - 1) / 2) : (mLastWidthBoundary + scaleDevX); + mLastWidthBoundary = mLastWidthBoundary == 0 ? + (getWidth() * (getScaleX() - 1) / 2) : (mLastWidthBoundary + scaleDevX); if (x - mLastWidthBoundary >= 1 && x > 0) { x = (int) mLastWidthBoundary; } else if (x < 0 && x + mLastWidthBoundary <= -1) { x = (int) -mLastWidthBoundary; + } else { } // 处理Y轴临界值情况 @@ -767,7 +762,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co int y = mLastPositionY == 0 ? (int) getNowPositionY : (int) mLastPositionY; mLastHeightBoundary = mLastHeightBoundary == 0 ? (getHeight() * (getScaleY() - 1) / 2) : (mLastHeightBoundary + scaleDevY); - if (mLastHeightBoundary < 0){ + if (mLastHeightBoundary < 0) { return; } boolean isbeyondScreen = getHeight() * getScaleY() > mDisplayAttributes.height ? true : false; @@ -777,16 +772,19 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co y = (int) mLastHeightBoundary; } else if (y < 0 && y + mLastHeightBoundary <= -1) { y = (int) -mLastHeightBoundary; + } else { } } else { - if (y < 0 ){ + if (y < 0 ) { return; } - float maxHeight = (getHeight() * (getScaleY() - 1) / 2) - (getHeight() * getScaleY() - mDisplayAttributes.height); + float maxHeight = (getHeight() * (getScaleY() - 1) / 2) - + (getHeight() * getScaleY() - mDisplayAttributes.height); if (y - mLastHeightBoundary >= 1 && y - maxHeight >= 1 && isbeyondScreen) { y = (int) mLastHeightBoundary; } else if ((mLastHeightBoundary - y) >= diffHeight && y > 0 && isbeyondScreen) { y = (int) maxHeight - scaleDevY; + } else { } } @@ -794,8 +792,8 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co mLastWidthBoundary = (getWidth() * (getScaleX() - 1) / 2); mLastHeightBoundary = (int) (getHeight() * (getScaleY() - 1) / 2); - if (diffHeight > 0){ - if (!isbeyondScreen){ + if (diffHeight > 0) { + if (!isbeyondScreen) { setPosition(x, (mDisplayAttributes.height - getHeight()) / 2); } else { setPosition(x, y); diff --git a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoViewFrame.java b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoViewFrame.java index 0d9c3a7..aae81e6 100644 --- a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoViewFrame.java +++ b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoViewFrame.java @@ -29,7 +29,8 @@ import ohos.app.Context; * * @since 2021-03-27 */ -public class PhotoViewFrame extends DirectionalLayout implements Component.LongClickedListener, Component.ClickedListener { +public class PhotoViewFrame extends DirectionalLayout implements Component.LongClickedListener, + Component.ClickedListener { private static final int TOAST_SHOW_DURATION = 2 * 1000; private static final int TOAST_SHOW_Y = 200; diff --git a/photodraweeview/src/main/java/com/me/relex/photodraweeview/utils/Util.java b/photodraweeview/src/main/java/com/me/relex/photodraweeview/utils/Util.java index 817a814..065ea72 100644 --- a/photodraweeview/src/main/java/com/me/relex/photodraweeview/utils/Util.java +++ b/photodraweeview/src/main/java/com/me/relex/photodraweeview/utils/Util.java @@ -24,7 +24,6 @@ import java.text.DecimalFormat; * @since 2021-03-27 */ public class Util { - /** * 转换float数据为保留固定小数位的String字符 * -- Gitee From cd23ffd5295c043eed160edc48555a2421a5c684 Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Mon, 7 Jun 2021 19:38:48 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E4=BF=AE=E6=94=B9codecheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/me/relex/photodraweeview/PhotoView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java index 9c823a0..b5cd49d 100644 --- a/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java +++ b/photodraweeview/src/main/java/com/me/relex/photodraweeview/PhotoView.java @@ -725,6 +725,7 @@ public class PhotoView extends Image implements Component.TouchEventListener, Co * 处理双指缩放 * * @param component component + * @param diffValue diffValue * @param scale 缩放比例 */ private void setMoveScale(Component component, float diffValue,float scale) { -- Gitee From 133d0b2a59be930c80bc9aedc0dbb54e28628793 Mon Sep 17 00:00:00 2001 From: 17351781990 <827990754@qq.com> Date: Mon, 7 Jun 2021 19:46:51 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E3=80=91=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- photodraweeview/build.gradle | 7 ------- 1 file changed, 7 deletions(-) diff --git a/photodraweeview/build.gradle b/photodraweeview/build.gradle index dcb89d9..bd3a7d8 100644 --- a/photodraweeview/build.gradle +++ b/photodraweeview/build.gradle @@ -1,11 +1,4 @@ apply plugin: 'com.huawei.ohos.library' -apply from: '../upload.gradle' - -rootProject.ext { - DEFAULT_GROUP_ID = 'com.gitee.chinasoft_ohos' //固定的groupId,服务商自行申请 - DEFAULT_ARTIFACT_ID = "PhotoDraweeView" //项目ID,填写项目名称。 - DEFAULT_VERSION = '0.0.4-SNAPSHOT' //版本号,发新版本时修改 -} ohos { compileSdkVersion 5 -- Gitee