From 91aefefa2722fbecfaef8631f6f95cd7e0289e6c Mon Sep 17 00:00:00 2001 From: huangjian Date: Thu, 3 Dec 2020 16:16:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=BF=9B=E6=88=BF=E9=A3=98=E5=B1=8F=E6=96=87?= =?UTF-8?q?=E6=A1=88=E4=BF=AE=E6=94=B9=202.=E5=88=A0=E9=99=A4AppBarLayoutB?= =?UTF-8?q?ehavior=E6=97=A5=E5=BF=97=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../avroom/fragment/HomePartyFragment.java | 26 ++++++++++++++----- .../erban/ui/widget/AppBarLayoutBehavior.java | 19 +------------- .../main/res/layout/activity_user_info.xml | 1 + 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java index 41e39aec9..ede3a7c1c 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java @@ -25,6 +25,7 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.TextView; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.widget.AppCompatImageView; import androidx.databinding.DataBindingUtil; @@ -51,6 +52,7 @@ import com.yizhuan.erban.avroom.presenter.HomePartyPresenter; import com.yizhuan.erban.avroom.widget.GiftV2View; import com.yizhuan.erban.avroom.widget.MessageView; import com.yizhuan.erban.base.BaseMvpActivity; +import com.yizhuan.erban.common.widget.OriginalDrawStatusClickSpan; import com.yizhuan.erban.common.widget.dialog.DialogManager; import com.yizhuan.erban.databinding.FragmentChatroomGameMainBinding; import com.yizhuan.erban.friend.view.SelectFriendActivity; @@ -104,11 +106,13 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.concurrent.TimeUnit; import cn.sharesdk.framework.Platform; import io.reactivex.Observable; +import io.reactivex.Single; import io.reactivex.SingleObserver; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -1071,19 +1075,29 @@ public class HomePartyFragment extends AbsRoomFragment implements View.OnClickLi private void showMemberInNotify(ChatRoomMessage chatRoomMessage) { ChatRoomNotificationAttachment attachment = (ChatRoomNotificationAttachment) chatRoomMessage.getAttachment(); - - int experLevelSeq = (int) chatRoomMessage.getRemoteExtension().get("experLevelSeq"); + Map remoteExtension = chatRoomMessage.getRemoteExtension(); + int experLevelSeq = (int) remoteExtension.get("experLevelSeq"); List targetNicks = attachment.getTargetNicks(); if (ListUtils.isListEmpty(targetNicks)) { return; } + int fromType = (int) remoteExtension.get("fromType"); + String fromNick = (String) remoteExtension.get("fromNick"); + SuperTextView textView = (SuperTextView) LayoutInflater.from(mContext).inflate(R.layout.layout_member_in_notify, null); // 内容 MessageView.SpannableBuilder text = new MessageView.SpannableBuilder(textView) - .append(targetNicks.get(0), new ForegroundColorSpan(Color.WHITE)) - .append("进入了房间", new ForegroundColorSpan(Color.WHITE)); + .append(targetNicks.get(0), new ForegroundColorSpan(Color.WHITE)); + String enterText = " 进入了房间 "; + if (fromType == AVRoomActivity.FROM_TYPE_RECOMMEND) { + enterText = " 根据首页推荐进房"; + } + if (fromType == AVRoomActivity.FROM_TYPE_USER) { + enterText = " 跟随 " + fromNick + "进房"; + } + text.append(enterText, new ForegroundColorSpan(Color.WHITE)); textView.setText(text.build()); - playMemberInAnim("【" + targetNicks.get(0) + "】进入了房间", memberInSvgaPath(experLevelSeq)); + playMemberInAnim("【" + targetNicks.get(0) + "】" + enterText, memberInSvgaPath(experLevelSeq)); } private String memberInSvgaPath(int level) { @@ -1100,7 +1114,7 @@ public class HomePartyFragment extends AbsRoomFragment implements View.OnClickLi path = "svga/svga_member_in_lv70.svga"; } else if (level >= 80 && level <= 89) { path = "svga/svga_member_in_lv80.svga"; - } else if (level >= 90 && level <= 100) { + } else if (level >= 90) { path = "svga/svga_member_in_lv90.svga"; } return path; diff --git a/app/src/main/java/com/yizhuan/erban/ui/widget/AppBarLayoutBehavior.java b/app/src/main/java/com/yizhuan/erban/ui/widget/AppBarLayoutBehavior.java index eea8a7a37..06f00f429 100644 --- a/app/src/main/java/com/yizhuan/erban/ui/widget/AppBarLayoutBehavior.java +++ b/app/src/main/java/com/yizhuan/erban/ui/widget/AppBarLayoutBehavior.java @@ -2,7 +2,6 @@ package com.yizhuan.erban.ui.widget; import android.content.Context; import android.util.AttributeSet; -import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.widget.OverScroller; @@ -28,7 +27,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { @Override public boolean onInterceptTouchEvent(@NotNull CoordinatorLayout parent, AppBarLayout child, MotionEvent ev) { - LogUtil.d(TAG, "onInterceptTouchEvent:" + child.getTotalScrollRange()); shouldBlockNestedScroll = isFlinging; switch (ev.getActionMasked()) { case MotionEvent.ACTION_DOWN: @@ -60,7 +58,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { return null; } } catch (NoSuchFieldException e) { - e.printStackTrace(); // 可能是28及以上版本 Class headerBehaviorType = superclass.getSuperclass().getSuperclass(); if (headerBehaviorType != null) { @@ -90,7 +87,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { return null; } } catch (NoSuchFieldException e) { - e.printStackTrace(); // 可能是28及以上版本 Class headerBehaviorType = superclass.getSuperclass().getSuperclass(); if (headerBehaviorType != null) { @@ -122,7 +118,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { } OverScroller overScroller = (OverScroller) scrollerField.get(this); if (flingRunnable != null) { - LogUtil.d(TAG, "存在flingRunnable"); appBarLayout.removeCallbacks(flingRunnable); flingRunnableField.set(this, null); } @@ -138,7 +133,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { public boolean onStartNestedScroll(@NotNull CoordinatorLayout parent, @NotNull AppBarLayout child, @NotNull View directTargetChild, View target, int nestedScrollAxes, int type) { - LogUtil.d(TAG, "onStartNestedScroll"); stopAppbarLayoutFling(child); return super.onStartNestedScroll(parent, child, directTargetChild, target, nestedScrollAxes, type); @@ -148,8 +142,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { public void onNestedPreScroll(CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dx, int dy, int[] consumed, int type) { - LogUtil.d(TAG, "onNestedPreScroll:" + child.getTotalScrollRange() - + " ,dx:" + dx + " ,dy:" + dy + " ,type:" + type); //type返回1时,表示当前target处于非touch的滑动, //该bug的引起是因为appbar在滑动时,CoordinatorLayout内的实现NestedScrollingChild2接口的滑动 //子类还未结束其自身的fling @@ -166,9 +158,6 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { public void onNestedScroll(@NotNull CoordinatorLayout coordinatorLayout, AppBarLayout child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int type) { - LogUtil.d(TAG, "onNestedScroll: target:" + target.getClass() + " ," - + child.getTotalScrollRange() + " ,dxConsumed:" - + dxConsumed + " ,dyConsumed:" + dyConsumed + " " + ",type:" + type); if (!shouldBlockNestedScroll) { super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, type); @@ -178,16 +167,10 @@ public class AppBarLayoutBehavior extends AppBarLayout.Behavior { @Override public void onStopNestedScroll(CoordinatorLayout coordinatorLayout, @NotNull AppBarLayout abl, View target, int type) { - LogUtil.d(TAG, "onStopNestedScroll"); super.onStopNestedScroll(coordinatorLayout, abl, target, type); isFlinging = false; shouldBlockNestedScroll = false; } - - private static class LogUtil{ - static void d(String tag, String string){ - Log.d(tag,string); - } - } + } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_user_info.xml b/app/src/main/res/layout/activity_user_info.xml index b134b61ac..978e705ba 100644 --- a/app/src/main/res/layout/activity_user_info.xml +++ b/app/src/main/res/layout/activity_user_info.xml @@ -222,6 +222,7 @@ android:paddingTop="@dimen/dp_15" android:paddingEnd="@dimen/dp_15" android:text="公会" + android:drawableEnd="@drawable/arrow_right_2" android:textColor="@color/color_333333" android:textSize="@dimen/sp_13" />