diff --git a/.idea/$PROJECT_FILE$ b/.idea/$PROJECT_FILE$
new file mode 100644
index 0000000000000000000000000000000000000000..58b7e3e570f8289344d345f6e3634608e74c690d
--- /dev/null
+++ b/.idea/$PROJECT_FILE$
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..26d33521af10bcc7fd8cea344038eaaeb78d0ef5
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9d45f4369697246b4bb01e1cb33f15a0252f36ba
--- /dev/null
+++ b/.idea/checkstyle-idea.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000000000000000000000000000000000000..61a9130cd9669c3843e6445dfe1fee2d493869bc
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000000000000000000000000000000000000..10f0aec39e9580270750a89d54e93b5fd63a4275
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1dfcd020d2b2774ad414ac5c0acc344e9b9479b4
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7bf152725d9d53037fa3e174e7865c7d18875e47
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/qaplug_profiles.xml b/.idea/qaplug_profiles.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9a7566c94362079d1e0f51c08291b7049b059dc6
--- /dev/null
+++ b/.idea/qaplug_profiles.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94a25f7f4cb416c083d265558da75d457237d671
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index 42131d7c9fc501186b9d20757b133d5e025fd962..e23907f323f15023c15f534f3672b47edede6994 100644
--- a/README.md
+++ b/README.md
@@ -40,7 +40,7 @@
使用该库非常简单,只需查看提供的示例的源代码。(查看ViewCreateHelper.java中在ScrollView和ListContainer中的使用)
```示例XML
-
-
+
```
```java
diff --git a/entry/build.gradle b/entry/build.gradle
index e0e7cd471169321fc67fdcb6fcc9ab7f97d2cb2b..393918a466ccc4879b19a8a06d5d8c6f38ddeb68 100644
--- a/entry/build.gradle
+++ b/entry/build.gradle
@@ -1,17 +1,6 @@
apply plugin: 'com.huawei.ohos.hap'
apply plugin: 'com.huawei.ohos.decctest'
ohos {
- signingConfigs {
- debug {
- storeFile file('E:\\hongmeng\\trunk\\keyStore 二期\\ExpandableTextView\\root_1.p12')
- storePassword '00000020EF5D83995F16225C27A992A2F491459B7286F5EAF942B26161119B95D7B58A3580CC023F529511701D8FD606'
- keyAlias = 'hos_platform_os'
- keyPassword '00000020E22C3F8C74E64EA5B72F4F9E4D7A9176D56075099118E157F703C7507997A895734DDEC0A0657F4842DED698'
- signAlg = 'SHA256withECDSA'
- profile file('E:\\hongmeng\\trunk\\keyStore 二期\\ExpandableTextView\\ExpandableTextViewDebug.p7b')
- certpath file('E:\\hongmeng\\trunk\\keyStore 二期\\ExpandableTextView\\root.cer')
- }
- }
compileSdkVersion 5
defaultConfig {
compatibleSdkVersion 4
diff --git a/entry/src/main/java/com/hos/expandabletextview/utils/ViewCreateHelper.java b/entry/src/main/java/com/hos/expandabletextview/utils/ViewCreateHelper.java
index b70902f8de64dd5533873d61b0b06e187a53d8c8..9399e2a26e1b8f144218a9fae6dec0dab36c5c7e 100644
--- a/entry/src/main/java/com/hos/expandabletextview/utils/ViewCreateHelper.java
+++ b/entry/src/main/java/com/hos/expandabletextview/utils/ViewCreateHelper.java
@@ -18,7 +18,7 @@ package com.hos.expandabletextview.utils;
import com.hos.expandabletextview.ResourceTable;
import com.hos.expandabletextview.adapter.ListAdapter;
import com.hos.expandabletextview.adapter.ViewHolder;
-import com.ms.square.ohos.expandabletextview.ExpandableTextView;
+import com.ms.square.android.expandabletextview.ExpandableTextView;
import ohos.agp.components.*;
import ohos.agp.render.Paint;
import ohos.app.Context;
@@ -83,8 +83,17 @@ public final class ViewCreateHelper {
ExpandableTextView expandableTextView = (ExpandableTextView)
component.findComponentById(ResourceTable.Id_expandable);
expandableTextView.setText(slice.getString(ResourceTable.String_dummy_text2));
- expandableTextView.setOnExpandStateChangeListener((textView, isExpanded) ->
- MyToast.show(slice, isExpanded ? "Expanded" : "Collapsed", MyToast.ToastLayout.BOTTOM));
+ expandableTextView.setOnExpandStateChangeListener(new ExpandableTextView.OnExpandStateChangeListener() {
+ @Override
+ public void onExpandStateChanged(Text textView) {
+
+ }
+
+ @Override
+ public void expandStateChangedToast(boolean isExpanded) {
+ MyToast.show(slice, isExpanded ? "Expanded" : "Collapsed", MyToast.ToastLayout.BOTTOM);
+ }
+ });
}
}
return rootLayout;
@@ -123,9 +132,13 @@ public final class ViewCreateHelper {
expandableTextView.setText(slice.getString(ResourceTable.String_dummy_text2));
expandableTextView.setOnExpandStateChangeListener(new ExpandableTextView.OnExpandStateChangeListener() {
@Override
- public void onExpandStateChanged(Text textView, boolean isExpanded) {
+ public void onExpandStateChanged(Text textView) {
int position = Integer.valueOf(textView.getTag().toString()).intValue();
listAdapter.notifyDataSetItemChanged(position + 1);
+ }
+
+ @Override
+ public void expandStateChangedToast(boolean isExpanded) {
MyToast.show(slice, isExpanded ? "Expanded" : "Collapsed", MyToast.ToastLayout.BOTTOM);
}
});
diff --git a/entry/src/main/resources/base/layout/text_item.xml b/entry/src/main/resources/base/layout/text_item.xml
index 3ad58a10c0afc6333091d30955abdb41a628a254..4456a780d39c60a710d605ec312d0876c7cad5bd 100644
--- a/entry/src/main/resources/base/layout/text_item.xml
+++ b/entry/src/main/resources/base/layout/text_item.xml
@@ -6,7 +6,7 @@
ohos:width="match_parent"
ohos:orientation="vertical">
-
-
+
-
-
+
\ No newline at end of file
diff --git a/library/src/main/config.json b/library/src/main/config.json
index f523799b62682d36de00fee89d6cd2629e9957b7..d2a5e3724dee3f0b3e766209ea6d6eabaf1ab4b9 100644
--- a/library/src/main/config.json
+++ b/library/src/main/config.json
@@ -1,6 +1,6 @@
{
"app": {
- "bundleName": "com.ms.square.ohos.expandabletextview",
+ "bundleName": "com.ms.square.android.expandabletextview",
"vendor": "loopj",
"version": {
"code": 1,
@@ -14,7 +14,7 @@
},
"deviceConfig": {},
"module": {
- "package": "com.ms.square.ohos.expandabletextview",
+ "package": "com.ms.square.android.expandabletextview",
"deviceType": [
"phone"
],
diff --git a/library/src/main/java/com/ms/square/ohos/expandabletextview/ExpandableTextView.java b/library/src/main/java/com/ms/square/android/expandabletextview/ExpandableTextView.java
similarity index 95%
rename from library/src/main/java/com/ms/square/ohos/expandabletextview/ExpandableTextView.java
rename to library/src/main/java/com/ms/square/android/expandabletextview/ExpandableTextView.java
index 277224eaf101a3b04a1ad9930e862e595a66dcd0..7488f5ecf03aba7f2199c1082a6dc9bbeca91412 100644
--- a/library/src/main/java/com/ms/square/ohos/expandabletextview/ExpandableTextView.java
+++ b/library/src/main/java/com/ms/square/android/expandabletextview/ExpandableTextView.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.ms.square.ohos.expandabletextview;
+package com.ms.square.android.expandabletextview;
import ohos.agp.animation.Animator;
import ohos.agp.animation.AnimatorValue;
@@ -161,8 +161,13 @@ public class ExpandableTextView extends DirectionalLayout implements
super.setOrientation(orientation);
}
+ AnimatorValue animation = new AnimatorValue();
+
@Override
public void onClick(Component component) {
+ if (animation.isRunning()) {
+ return;
+ }
if (expandCollapse.getVisibility() != Component.VISIBLE) {
return;
}
@@ -183,7 +188,6 @@ public class ExpandableTextView extends DirectionalLayout implements
}
// 动效
- AnimatorValue animation = new AnimatorValue();
animation.setDuration(animationDuration);
animation.setStateChangedListener(new Animator.StateChangedListener() {
@Override
@@ -204,9 +208,7 @@ public class ExpandableTextView extends DirectionalLayout implements
@Override
public void onEnd(Animator animator) {
// notify the listener
- if (mListener != null) {
- mListener.onExpandStateChanged(expandText, !mCollapsed);
- }
+ mListener.expandStateChangedToast(!mCollapsed);
}
@Override
@@ -234,8 +236,18 @@ public class ExpandableTextView extends DirectionalLayout implements
if (Float.compare(animAlphaStart, 1.0f) != 0) {
applyAlphaAnimation(expandText, animAlphaStart + interpolatedTime * (1.0f - animAlphaStart));
}
+
+ getContext().getUITaskDispatcher().delayDispatch(new Runnable() {
+ @Override
+ public void run() {
+ if (mListener != null) {
+ mListener.onExpandStateChanged(expandText);
+ }
+ }
+ }, 10);
}
});
+
animation.start();
}
@@ -300,6 +312,7 @@ public class ExpandableTextView extends DirectionalLayout implements
setOrientation(Component.VERTICAL);
//add绘制的回调
addDrawTask(mDrawTask);
+
}
private static int getRealTextViewHeight(Text textView) {
@@ -379,10 +392,14 @@ public class ExpandableTextView extends DirectionalLayout implements
/**
* Called when the expand/collapse animation has been finished
*
- * @param textView - TextView being expanded/collapsed
- * @param isExpanded - true if the TextView has been expanded
+ * @param textView - TextView being expanded/collapsed
+ */
+ void onExpandStateChanged(Text textView);
+
+ /**
+ * 状态改变时的提示语
*/
- void onExpandStateChanged(Text textView, boolean isExpanded);
+ void expandStateChangedToast(boolean isExpanded);
}
interface ExpandIndicatorController {
diff --git a/library/src/main/java/com/ms/square/ohos/expandabletextview/TypedAttrUtils.java b/library/src/main/java/com/ms/square/android/expandabletextview/TypedAttrUtils.java
similarity index 98%
rename from library/src/main/java/com/ms/square/ohos/expandabletextview/TypedAttrUtils.java
rename to library/src/main/java/com/ms/square/android/expandabletextview/TypedAttrUtils.java
index 27b5c6b5545dac8eec48765179e0e1ee243062f9..ca585e945b19144fa5b6f9dfe72b845f31ded6f7 100644
--- a/library/src/main/java/com/ms/square/ohos/expandabletextview/TypedAttrUtils.java
+++ b/library/src/main/java/com/ms/square/android/expandabletextview/TypedAttrUtils.java
@@ -13,7 +13,7 @@
* limitations under the License.
*
*/
-package com.ms.square.ohos.expandabletextview;
+package com.ms.square.android.expandabletextview;
import ohos.agp.components.Attr;