From 88e34b83e6df2444abaac2e2b134b2b1cf848a31 Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 1 Sep 2020 18:40:05 +0800 Subject: [PATCH] =?UTF-8?q?opt=20=E4=BA=8B=E4=BB=B6=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=8D=E5=87=BA=E7=8E=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/BottomLayerViewWrapper.java | 24 ++++++++++++++++++- .../extensions/utils/EntranceViewHolder.java | 18 ++++++++++++-- .../res/layout/module_ext_layout_entrance.xml | 3 ++- .../layout/module_ext_layout_extensions.xml | 16 +++++++------ .../src/main/res/values-xhdpi/dimens.xml | 2 ++ .../src/main/res/values/dimens.xml | 4 ++++ .../v2x/fragment/V2XEventPanelFragment.kt | 6 ++++- 7 files changed, 61 insertions(+), 12 deletions(-) diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/bean/BottomLayerViewWrapper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/bean/BottomLayerViewWrapper.java index 5dd939ff67..17078499eb 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/bean/BottomLayerViewWrapper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/bean/BottomLayerViewWrapper.java @@ -2,6 +2,8 @@ package com.mogo.module.extensions.bean; import android.view.View; +import java.util.Objects; + /** * 底层view封装 * @@ -12,7 +14,8 @@ public class BottomLayerViewWrapper { private int x; private int y; - public BottomLayerViewWrapper(){} + public BottomLayerViewWrapper() { + } public BottomLayerViewWrapper(View view, int x, int y) { this.view = view; @@ -20,6 +23,25 @@ public class BottomLayerViewWrapper { this.y = y; } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BottomLayerViewWrapper wrapper = (BottomLayerViewWrapper) o; + return x == wrapper.x && + y == wrapper.y && + view.equals(wrapper.view); + } + + @Override + public int hashCode() { + return Objects.hash(view); + } + public View getView() { return view; } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java index b35687f42c..a9f64ad4a7 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/EntranceViewHolder.java @@ -58,12 +58,26 @@ public class EntranceViewHolder { "\n x: " + x + ", y: " + y); BottomLayerViewWrapper wrapper = new BottomLayerViewWrapper(view, x, y); if(rootViewGroup == null) { - preAddView.add(wrapper); + if(!preAddView.contains(wrapper)) { + preAddView.add(wrapper); + } }else{ - realAddView(wrapper); + if(!containView(view)) { + realAddView(wrapper); + } } } + private boolean containView(View view) { + int count = rootViewGroup.getChildCount(); + for (int i = 0; i < count; i++) { + if(rootViewGroup.getChildAt(i).equals(view)){ + return true; + } + } + return false; + } + /** * 使用的时候需要预先判断rootViewGroup是否为空,本方法默认rootViewGroup不为空 */ diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 7eb6e9315e..ee58f94945 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -14,7 +14,8 @@ + android:layout_height="wrap_content" + /> @@ -36,13 +37,14 @@ android:id="@+id/module_ext_id_msg" android:layout_width="@dimen/module_ext_height" android:layout_height="@dimen/module_ext_height" + android:layout_marginStart="@dimen/module_ext_notice_margin_start" android:layout_marginEnd="@dimen/module_ext_msg_marginRight" android:background="@drawable/module_ext_drawable_msg_container_bkg" android:visibility="gone" app:layout_constraintBottom_toBottomOf="@+id/ivUserHeadImg" - app:layout_constraintRight_toLeftOf="@+id/ivUserHeadImg" + app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toTopOf="@+id/ivUserHeadImg" - tools:visibility="gone"> + tools:visibility="visible"> + tools:visibility="visible" /> \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index a501b50d35..274ee166d4 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -144,4 +144,6 @@ 20px 34px + 175px + 485px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml index 26b9b2c5fe..569df88f5a 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -60,6 +60,8 @@ 32px 32px + 98px + 22px 28px 22px @@ -148,4 +150,6 @@ 10px 19px + + 231px \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 5a277dafae..48c5eb7ab4 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -131,13 +131,17 @@ class V2XEventPanelFragment : MvpFragment