diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2312fb6dfb7cd2c842e0ee386a4cf4806c05ae68..f5b1730703a4fe2c565601fae4159669de0fd55d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.2-SNAPSHOT
+
+ohos 适配SDK6
+
## 0.0.1-SNAPSHOT
ohos 第一个版本,完整实现了原库的全部 api
\ No newline at end of file
diff --git a/README.md b/README.md
index 4c3c52be3eb3c15539bf8bbd3df6d2eb979ef886..0f76f4849c764749170f0c825c3b5fa81ccebf64 100644
--- a/README.md
+++ b/README.md
@@ -8,8 +8,9 @@
- 功能:openharmony 加载控件库,简洁、易用、可定制性强。用于快速实现类似 iOS 的 “加载中” 等弹出框。
- 项目移植状态:主功能完成
- 调用差异:无
+- 开发版本:sdk6,DevEco Studio2.2 Beta1(实时更新以当前最新版本为准)
- 基线版本:V1.2.1
-- 开发版本:sdk5,DevEco Studio2.1 Release
+
#### 演示效果
@@ -17,9 +18,6 @@
-entry运行要求
-通过DevEco studio,并下载openHarmonySDK
-将项目中的build.gradle文件中dependencies→classpath版本改为对应的版本(即你的IDE新建项目中所用的版本)
@@ -38,12 +36,12 @@ repositories {
// 添加依赖库
dependencies {
-implementation('com.gitee.chinasoft_ohos:ACProgressLite:0.0.1-SNAPSHOT')
+implementation('com.gitee.chinasoft_ohos:ACProgressLite:0.0.2-SNAPSHOT')
......
}
```
-在sdk5,DevEco Studio2.1 Release下项目可直接运行
+在sdk6,DevEco Studio2.2 Beta1下项目可直接运行
如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件,
并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下
@@ -56,7 +54,7 @@ implementation('com.gitee.chinasoft_ohos:ACProgressLite:0.0.1-SNAPSHOT')
dialog.setCanceledOnTouchOutside(true);
dialog.show(dialog);
```
-例子
+ 例子
* 花瓣类型
@@ -154,13 +152,15 @@ CodeCheck代码测试无异常
CloudTest代码测试无异常
-火绒安全病毒安全检测通过
+病毒安全检测通过
+
+当前版本demo功能与原组件基本无差异
#### 版本迭代
-0.0.1-SNAPSHOT
+0.0.2-SNAPSHOT
#### 版权和许可信息
-* [MIT License]
+* MIT License
diff --git a/build.gradle b/build.gradle
index a6c73c2dd1605c8c098fdd77442a6047e7411811..bf479ca657fb6b63c48c13c097af23041e8b2e1e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -2,12 +2,12 @@
apply plugin: 'com.huawei.ohos.app'
ohos {
- compileSdkVersion 5
+ compileSdkVersion 6
defaultConfig {
compatibleSdkVersion 5
}
}
-
+
buildscript {
repositories {
maven {
@@ -16,11 +16,11 @@ buildscript {
maven {
url 'https://developer.huawei.com/repo/'
}
- jcenter()
+ jcenter()
}
dependencies {
- classpath 'com.huawei.ohos:hap:2.4.4.2'
- classpath 'com.huawei.ohos:decctest:1.0.0.7'
+ classpath 'com.huawei.ohos:hap:2.4.5.0'
+ classpath 'com.huawei.ohos:decctest:1.2.4.1'
}
}
@@ -32,6 +32,6 @@ allprojects {
maven {
url 'https://developer.huawei.com/repo/'
}
- jcenter()
+ jcenter()
}
}
diff --git a/entry/build.gradle b/entry/build.gradle
index e39e92f62a2c7102515b3f27d33b8d23d26819db..8fd88e60be6b1083a20605c1ee292f7932b9cbb1 100644
--- a/entry/build.gradle
+++ b/entry/build.gradle
@@ -1,7 +1,7 @@
apply plugin: 'com.huawei.ohos.hap'
apply plugin: 'com.huawei.ohos.decctest'
ohos {
- compileSdkVersion 5
+ compileSdkVersion 6
defaultConfig {
compatibleSdkVersion 5
}
diff --git a/entry/src/main/config.json b/entry/src/main/config.json
index 25c4f5d9802c6d27968181eebe5842da644fda31..5007add9ebb4b31685f9385928e9fe01a4bbeebe 100644
--- a/entry/src/main/config.json
+++ b/entry/src/main/config.json
@@ -5,11 +5,6 @@
"version": {
"code": 1000000,
"name": "1.0.0"
- },
- "apiVersion": {
- "compatible": 5,
- "target": 5,
- "releaseType": "Release"
}
},
"deviceConfig": {},
diff --git a/library/build.gradle b/library/build.gradle
index e1c0b274a6c5cb35b197a177a17684addf760676..7e1e475c1296e7c6d200a45810598ddff583ee7f 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -1,8 +1,8 @@
apply plugin: 'com.huawei.ohos.library'
ohos {
- compileSdkVersion 5
+ compileSdkVersion 6
defaultConfig {
- compatibleSdkVersion 4
+ compatibleSdkVersion 5
}
buildTypes {
release {
diff --git a/library/src/main/config.json b/library/src/main/config.json
index a29b2f07fb48df933ff3ff34eaee7325175afa09..c3e200877834afce444b0b10d4c9204da264c965 100644
--- a/library/src/main/config.json
+++ b/library/src/main/config.json
@@ -5,11 +5,6 @@
"version": {
"code": 1000000,
"name": "1.0"
- },
- "apiVersion": {
- "compatible": 5,
- "target": 5,
- "releaseType": "Release"
}
},
"deviceConfig": {
diff --git a/library/src/main/java/cc/cloudist/acplibrary/ACProgressCustom.java b/library/src/main/java/cc/cloudist/acplibrary/ACProgressCustom.java
index 7b44c63f99113ee6e96e785ac5b50254e6a0573f..17ca4a2f342b12d8da125a50d113a2f92bc10a84 100644
--- a/library/src/main/java/cc/cloudist/acplibrary/ACProgressCustom.java
+++ b/library/src/main/java/cc/cloudist/acplibrary/ACProgressCustom.java
@@ -71,7 +71,7 @@ public final class ACProgressCustom extends ACProgressBaseDialog {
}
}
}
- mCustomView = new CustomView(mBuilder.mContext, size, mBitmaps);
+ mCustomView = new CustomView(mBuilder.mContext, mBitmaps);
}
setContentCustomComponent(mCustomView);
this.setTransparent(true);
diff --git a/library/src/main/java/cc/cloudist/acplibrary/ACProgressPie.java b/library/src/main/java/cc/cloudist/acplibrary/ACProgressPie.java
index e987895f438be9f186385c2a1f9cec93d2f59abf..a9e6b8f9efb9c1b642bbd119c4c09a33ded83113 100644
--- a/library/src/main/java/cc/cloudist/acplibrary/ACProgressPie.java
+++ b/library/src/main/java/cc/cloudist/acplibrary/ACProgressPie.java
@@ -1,5 +1,6 @@
package cc.cloudist.acplibrary;
+import java.math.BigDecimal;
import java.util.Timer;
import java.util.TimerTask;
@@ -32,22 +33,19 @@ public class ACProgressPie extends ACProgressBaseDialog {
public void show(ACProgressPie acProgressPie) {
if (mPieView == null) {
- int size = (int) (getMinimumSideOfScreen(mBuilder.mContext) * mBuilder.mSizeRatio);
+ int size = new BigDecimal(getMinimumSideOfScreen(mBuilder.mContext) ).multiply(new BigDecimal( mBuilder.mSizeRatio)).intValue();
mPieView = new PieView(mBuilder.mContext, size, mBuilder.mBackgroundColor, mBuilder.mBackgroundAlpha, mBuilder.mBackgroundCornerRadius
- , mBuilder.mRingBorderPadding, mBuilder.mPieRingDistance
+ , mBuilder.mRingBorderPadding
, mBuilder.mRingThickness, mBuilder.mRingColor, mBuilder.mRingAlpha
, mBuilder.mPieColor, mBuilder.mPieAlpha);
}
mTimer=new Timer();
- mPieView.setTouchEventListener(new Component.TouchEventListener() {
- @Override
- public boolean onTouchEvent(Component component, TouchEvent touchEvent) {
- if (CanceledOnTouchOutside) {
- acProgressPie.hide();
- mTimer.cancel();
- }
- return false;
+ mPieView.setTouchEventListener((component, touchEvent) -> {
+ if (CanceledOnTouchOutside) {
+ acProgressPie.hide();
+ mTimer.cancel();
}
+ return false;
});
super.setContentCustomComponent(mPieView);
this.setTransparent(true);
@@ -95,7 +93,6 @@ public class ACProgressPie extends ACProgressBaseDialog {
private int mPieColor = Color.WHITE.getValue();
private float mPieAlpha = 0.5f;
- private float mPieRingDistance = 0.08f;
private float mSpeed = 6.67f;
private int mPieces = 100;
@@ -156,10 +153,6 @@ public class ACProgressPie extends ACProgressBaseDialog {
return this;
}
- public Builder pieRingDistance(float distance) {
- mPieRingDistance = distance;
- return this;
- }
public Builder speed(float speed) {
mSpeed = speed;
diff --git a/library/src/main/java/cc/cloudist/acplibrary/views/CustomView.java b/library/src/main/java/cc/cloudist/acplibrary/views/CustomView.java
index f47b5427d5c6611bef342e590b982c92f3bac067..4cc09f509fb3e80a8aa6869d13ca698c2df8c5fa 100644
--- a/library/src/main/java/cc/cloudist/acplibrary/views/CustomView.java
+++ b/library/src/main/java/cc/cloudist/acplibrary/views/CustomView.java
@@ -10,17 +10,17 @@ import ohos.app.Context;
import ohos.media.image.PixelMap;
import java.lang.ref.WeakReference;
+import java.math.BigDecimal;
import java.util.List;
public class CustomView extends Component implements Component.EstimateSizeListener, Component.DrawTask {
private List mBitmaps;
- private RectFloat mRect;
private int mCurrentIndex = 0;
private final CustomUpdateHandler mHandler;
private final Paint paint ;
- public CustomView(Context context, int size, List bitmaps) {
+ public CustomView(Context context, List bitmaps) {
super(context);
mHandler = new CustomUpdateHandler(this);
@@ -29,7 +29,6 @@ public class CustomView extends Component implements Component.EstimateSizeListe
paint.setStrokeWidth(60);
paint.setStrokeCap(Paint.StrokeCap.ROUND_CAP);
paint.setStyle(Paint.Style.STROKE_STYLE);
- mRect = new RectFloat(0, 0, (float) size /2, (float)size /2);
mBitmaps = bitmaps;
setEstimateSizeListener(this);
addDrawTask(this);
@@ -49,10 +48,10 @@ public class CustomView extends Component implements Component.EstimateSizeListe
int center = width / 2;
int inRadius = center - 60;
double length = inRadius - Math.sqrt(2) * 1.0f / 2 * inRadius;
- centerRectFloat.left = (float) (width/2-length);
- centerRectFloat.top = (float) (height/2 -length);
- centerRectFloat.bottom = (float) (height/2+length);
- centerRectFloat.right = (float) (width/2+length);
+ centerRectFloat.left = new BigDecimal(width/2).subtract(new BigDecimal(length)).floatValue();
+ centerRectFloat.top = new BigDecimal (height/2 ).subtract(new BigDecimal(length)).floatValue();
+ centerRectFloat.bottom =new BigDecimal (height/2).add((new BigDecimal(length))).floatValue();
+ centerRectFloat.right = new BigDecimal(width/2).add((new BigDecimal(length))).floatValue();
canvas.drawPixelMapHolderRect(new PixelMapHolder(pixelMap), centerRectFloat, paint);
}
diff --git a/library/src/main/java/cc/cloudist/acplibrary/views/FlowerView.java b/library/src/main/java/cc/cloudist/acplibrary/views/FlowerView.java
index 40523e2d2ddb108e93342ee207655d5e4ded9e72..f5492732d6cbde521d0896f7f26c14bf90f5f81b 100644
--- a/library/src/main/java/cc/cloudist/acplibrary/views/FlowerView.java
+++ b/library/src/main/java/cc/cloudist/acplibrary/views/FlowerView.java
@@ -12,13 +12,13 @@ import ohos.agp.utils.TextAlignment;
import ohos.app.Context;
import java.lang.ref.WeakReference;
+import java.math.BigDecimal;
import java.util.List;
public final class FlowerView extends Component implements Component.EstimateSizeListener,
Component.DrawTask {
private int mSize;
- private int mFinalSize;
private int mPetalCount;
private float mBackgroundCornerRadius;
@@ -32,7 +32,7 @@ public final class FlowerView extends Component implements Component.EstimateSiz
private String mText;
private final Context mContext;
- private int mTextHeight, mTextWidth;
+ private int mTextHeight;
private int mTextMarginTop;
private final FlowerUpdateHandler mHandler;
private final int windowWidth;
@@ -91,15 +91,15 @@ public final class FlowerView extends Component implements Component.EstimateSiz
mTextPaint.getTextBounds(text);
mTextPaint.setTextAlign(TextAlignment.CENTER);
mTextHeight = mTextPaint.getTextBounds(text).getHeight();
- mTextWidth = mTextPaint.getTextBounds(text).getWidth();
} else {
mTextMarginTop = 0;
}
height = (int) Utils.getScreenHeight(mContext);
- mBackgroundRect = new RectFloat((float) (windowWidth - mSize) / 2-mTextHeight, (float) height / 2 - size, (float) (windowWidth - mSize+20) / 2 + mSize+mTextHeight, (float) height / 2 + mTextHeight + mTextMarginTop);
- mFinalSize = mSize;
+ mBackgroundRect = new RectFloat(new BigDecimal((windowWidth - mSize)/2).subtract(new BigDecimal(mTextHeight)).floatValue(),
+ new BigDecimal(height / 2).subtract(new BigDecimal(size)).floatValue(),
+ new BigDecimal((windowWidth - mSize+20) / 2).add(new BigDecimal(mSize+mTextHeight)).floatValue(),new BigDecimal (height / 2 + mTextHeight + mTextMarginTop).floatValue());
FlowerDataCalc calc = new FlowerDataCalc(petalCount);
mPetalCoordinates = calc.getSegmentsCoordinates(mSize, (int) (borderPadding * mSize), (int) (centerPadding * mSize), petalCount, windowWidth);
@@ -121,7 +121,10 @@ public final class FlowerView extends Component implements Component.EstimateSiz
int index = (mCurrentFocusIndex + i) % mPetalCount;
mPetalPaint.setColor(new Color(mPetalColors[index]));
- canvas.drawLine(coordinate.getStartX(), ((float) height / 2 - coordinate.getStartY()), coordinate.getEndX(), (float) height / 2 - coordinate.getEndY(), mPetalPaint);
+ canvas.drawLine(coordinate.getStartX(), (new BigDecimal(height / 2).subtract (new BigDecimal(coordinate.getStartY()) ).floatValue()), coordinate.getEndX(),
+ new BigDecimal(height / 2).subtract (new BigDecimal(coordinate.getEndY())) .floatValue(), mPetalPaint);
+
+
}
if (mText != null) {
canvas.drawText(mTextPaint, mText, (float) windowWidth / 2, (float) height / 2);
diff --git a/library/src/main/java/cc/cloudist/acplibrary/views/PieView.java b/library/src/main/java/cc/cloudist/acplibrary/views/PieView.java
index 6d7653271683db57b98b6b8ace914fa67393851b..e545fcce1d1cc9d0ba80c4bac58e7c60dc7a4bcc 100644
--- a/library/src/main/java/cc/cloudist/acplibrary/views/PieView.java
+++ b/library/src/main/java/cc/cloudist/acplibrary/views/PieView.java
@@ -11,6 +11,7 @@ import ohos.agp.utils.RectFloat;
import ohos.app.Context;
import java.lang.ref.WeakReference;
+import java.math.BigDecimal;
public final class PieView extends Component implements Component.EstimateSizeListener, Component.DrawTask {
@@ -32,11 +33,10 @@ public final class PieView extends Component implements Component.EstimateSizeLi
private final int width;
public PieView(
Context context, int size, int bgColor, float bgAlpha, float bgCornerRadius
- , float ringBorderPadding, float pieRingDistance
+ , float ringBorderPadding
, int ringThickness, int ringColor, float ringAlpha
, int pieColor, float pieAlpha) {
super(context);
-
mHandler = new PieUpdateHandler(this);
this.mContext=context;
mSize = size;
@@ -44,9 +44,19 @@ public final class PieView extends Component implements Component.EstimateSizeLi
mRingBorderPadding = ringBorderPadding;
height= (int) Utils.getScreenHeight(mContext);
width= (int) Utils.getScreenWidth(mContext);
- mBackgroundRect = new RectFloat((float)(width/2-size/2),(float)(height/2-size/2),(float)(width/2+size/2),(float)(height/2+size/2));
- float R=(mSize * (1 - mRingBorderPadding)) / 2-10;
- mPieRect =new RectFloat((float)width/2-R,(float)height/2-R,(float)width/2+R,(float)height/2+R);;
+ float left= (new BigDecimal(width).subtract(new BigDecimal(size)) ).divide(new BigDecimal(2)).floatValue();
+ float top= (new BigDecimal(height).subtract(new BigDecimal(size)) ).divide(new BigDecimal(2)).floatValue();
+ float right= (new BigDecimal(width).add(new BigDecimal(size)) ).divide(new BigDecimal(2)).floatValue();
+ float bottom= (new BigDecimal(height).add(new BigDecimal(size)) ).divide(new BigDecimal(2)).floatValue();
+
+ mBackgroundRect = new RectFloat(left,top,right,bottom);
+ float R= new BigDecimal(mSize).multiply(new BigDecimal(1).subtract(new BigDecimal(mRingBorderPadding))).divide(new BigDecimal(2)).subtract(new BigDecimal(10)).floatValue();
+ float leftPie= new BigDecimal(width).divide(new BigDecimal(2)).subtract(new BigDecimal(R)).floatValue();
+ BigDecimal divide = new BigDecimal(height).divide(new BigDecimal(2));
+ float topPie= divide.subtract(new BigDecimal(R)).floatValue();
+ float rightPie= new BigDecimal(width).divide(new BigDecimal(2)).add(new BigDecimal(R)).floatValue();
+ float bottomPie= divide.add(new BigDecimal(R)).floatValue();
+ mPieRect =new RectFloat(leftPie,topPie,rightPie,bottomPie);;
mBackgroundPaint = new Paint();
mBackgroundPaint.setAntiAlias(true);
mBackgroundPaint.setColor(new Color(bgColor));
@@ -77,7 +87,7 @@ public final class PieView extends Component implements Component.EstimateSizeLi
public void onDraw(Component component, Canvas canvas) {
mBackgroundPaint.setAlpha(0.3f);
canvas.drawRoundRect(mBackgroundRect, mBackgroundCornerRadius, mBackgroundCornerRadius, mBackgroundPaint);
- canvas.drawCircle((float)width/2, (float)height / 2, (mSize * (1 - mRingBorderPadding)) / 2, mRingPaint);
+ canvas.drawCircle(new BigDecimal(width/2).floatValue() , new BigDecimal(height / 2).floatValue(), new BigDecimal(mSize).multiply(new BigDecimal(1).subtract(new BigDecimal(mRingBorderPadding))).divide(new BigDecimal(2)).floatValue(), mRingPaint);
canvas.drawArc(mPieRect, new Arc(-90, mAngle, true), mPiePaint);
}