From 068172bbd2e251943f5c1820dbcb7e57216dfb73 Mon Sep 17 00:00:00 2001 From: wushaocheng <15876365887@163.com> Date: Thu, 7 Sep 2023 11:40:19 +0800 Subject: [PATCH] =?UTF-8?q?[Modify]=E9=A6=96=E9=A1=B5ui=E5=92=8C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/svga/home_living.svga | Bin 0 -> 9573 bytes .../main/assets/svga/home_white_living.svga | Bin 0 -> 466 bytes .../erban/home/adapter/HomeChatAdapter.kt | 32 ++- .../home/adapter/RoomNewFriendsAdapter.kt | 100 ++++++--- app/src/main/res/drawable-xhdpi/bg_game.png | Bin 0 -> 4153 bytes .../res/drawable-xhdpi/bg_masking_game.png | Bin 0 -> 2098 bytes .../res/drawable-xhdpi/bg_masking_party.png | Bin 0 -> 2861 bytes .../res/drawable-xhdpi/ic_sound_pause.png | Bin 0 -> 2335 bytes .../main/res/drawable-xhdpi/ic_sound_star.png | Bin 0 -> 2176 bytes .../main/res/drawable-xhdpi/ic_sound_wave.png | Bin 0 -> 1224 bytes app/src/main/res/drawable-xhdpi/iv_party.png | Bin 0 -> 5010 bytes app/src/main/res/drawable/bg_759fff_2.xml | 6 + .../res/drawable/shape_339168fa_corner.xml | 5 + .../drawable/shape_room_new_friends_bg.xml | 2 +- .../main/res/layout/fragment_accompany.xml | 3 +- app/src/main/res/layout/item_home_chat.xml | 63 +++++- .../main/res/layout/item_room_new_friends.xml | 209 +++++++++++++----- .../user/bean/UserInfo.java | 8 + .../utils/StringCutUtils.java | 103 +++++++++ 19 files changed, 420 insertions(+), 111 deletions(-) create mode 100644 app/src/main/assets/svga/home_living.svga create mode 100644 app/src/main/assets/svga/home_white_living.svga create mode 100644 app/src/main/res/drawable-xhdpi/bg_game.png create mode 100644 app/src/main/res/drawable-xhdpi/bg_masking_game.png create mode 100644 app/src/main/res/drawable-xhdpi/bg_masking_party.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_sound_pause.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_sound_star.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_sound_wave.png create mode 100644 app/src/main/res/drawable-xhdpi/iv_party.png create mode 100644 app/src/main/res/drawable/bg_759fff_2.xml create mode 100644 app/src/main/res/drawable/shape_339168fa_corner.xml create mode 100644 library/src/main/java/com/yizhuan/xchat_android_library/utils/StringCutUtils.java diff --git a/app/src/main/assets/svga/home_living.svga b/app/src/main/assets/svga/home_living.svga new file mode 100644 index 0000000000000000000000000000000000000000..a9de042b7de4935990f54df35e4473e4d9cdc165 GIT binary patch literal 9573 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 P;_o=TIOTr;1mUr|iXPfy literal 0 HcmV?d00001 diff --git a/app/src/main/assets/svga/home_white_living.svga b/app/src/main/assets/svga/home_white_living.svga new file mode 100644 index 0000000000000000000000000000000000000000..2ef770c9276b55e9d281980df94173ba41aa0061 GIT binary patch literal 466 zcmb=J^Ek=$lJON|fk%&16Mj6DI3NeWG`BY~R(&X1y+aU$E=uF1KgmSFV{Fg_dld+UWQ|LC4g0!R)oG?X(Ad~2C0`1OgYRP{G7+V+OgA==9NSfePp=Ogd3|8X!^V^A znS;%EeJpJZO3xj*vi?ebfTWoM;KaXDuj|UhMf6mkc09g#+M*si- literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeChatAdapter.kt b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeChatAdapter.kt index 827c69cf3..7ae19573a 100644 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/HomeChatAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/home/adapter/HomeChatAdapter.kt @@ -1,12 +1,15 @@ package com.yizhuan.erban.home.adapter import android.view.View -import androidx.core.content.ContextCompat +import androidx.constraintlayout.widget.Group import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder +import com.opensource.svgaplayer.SVGAImageView import com.yizhuan.erban.R import com.yizhuan.erban.ui.utils.ImageLoadUtilsV2 +import com.yizhuan.erban.ui.utils.loadFromAssets import com.yizhuan.xchat_android_core.home.bean.HomeRoomInfo +import com.yizhuan.xchat_android_library.utils.StringCutUtils /** * create by lvzebiao @2019/11/13 @@ -15,17 +18,22 @@ class HomeChatAdapter : BaseQuickAdapter(R.layout.item_home_chat) { override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) { - when(item.gender){ - 0 ->{ - helper.getView(R.id.view_bg).background = ContextCompat.getDrawable(mContext,R.drawable.bg_home_chat_man) - } - 1 ->{ - helper.getView(R.id.view_bg).background = ContextCompat.getDrawable(mContext,R.drawable.bg_home_chat_man) - } - 2 ->{ - helper.getView(R.id.view_bg).background = ContextCompat.getDrawable(mContext,R.drawable.bg_home_chat_women) - } - } + val svgaLiving = helper.getView(R.id.svga_living) ImageLoadUtilsV2.loadAvatar(helper.getView(R.id.iv_avatar), item.avatar) + val name = StringCutUtils.subStrByLen(item.title.substring(0, item.title.length - 3), 8) + helper.setText(R.id.tv_name, name) + if (item.mgId == 0L) { + helper.getView(R.id.group_game).visibility = View.INVISIBLE + } else { + helper.getView(R.id.group_game).visibility = View.VISIBLE + } + svgaLiving.loadFromAssets("svga/home_living.svga") } + + override fun onViewAttachedToWindow(holder: BaseViewHolder) { + super.onViewAttachedToWindow(holder) + val svgaLiving = holder.getView(R.id.svga_living) + svgaLiving?.loadFromAssets("svga/home_living.svga") + } + } \ No newline at end of file diff --git a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomNewFriendsAdapter.kt b/app/src/main/java/com/yizhuan/erban/home/adapter/RoomNewFriendsAdapter.kt index 86f225bb0..57ba4ff53 100644 --- a/app/src/main/java/com/yizhuan/erban/home/adapter/RoomNewFriendsAdapter.kt +++ b/app/src/main/java/com/yizhuan/erban/home/adapter/RoomNewFriendsAdapter.kt @@ -1,24 +1,33 @@ package com.yizhuan.erban.home.adapter +import android.text.TextUtils import android.view.View import android.widget.ImageView +import android.widget.LinearLayout import android.widget.TextView import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import androidx.constraintlayout.widget.Group import androidx.core.view.isVisible +import androidx.recyclerview.widget.RecyclerView import com.chad.library.adapter.base.BaseQuickAdapter import com.chad.library.adapter.base.BaseViewHolder -import com.opensource.svgaplayer.SVGAImageView +import com.google.android.flexbox.AlignItems +import com.google.android.flexbox.FlexDirection import com.yizhuan.erban.R import com.yizhuan.erban.avroom.activity.AVRoomActivity import com.yizhuan.erban.ui.im.avtivity.NimP2PMessageActivity import com.yizhuan.erban.ui.user.activity.UserInfoActivity +import com.yizhuan.erban.ui.user.adapter.UserInfoLabelAdapter +import com.yizhuan.erban.ui.utils.ImageLoadUtils import com.yizhuan.erban.ui.utils.loadAvatar -import com.yizhuan.erban.ui.utils.loadFromAssets -import com.yizhuan.erban.vip.util.VipHelper import com.yizhuan.xchat_android_core.user.bean.UserInfo +import com.yizhuan.xchat_android_core.user.bean.UserInfo.SoundBean import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils import com.yizhuan.xchat_android_core.utils.StarUtils import com.yizhuan.xchat_android_core.utils.ifNullOrEmpty +import com.yizhuan.xchat_android_library.common.widget.LinesFlexBoxLayoutManager +import com.yizhuan.xchat_android_library.utils.ListUtils import java.util.* class RoomNewFriendsAdapter : @@ -43,27 +52,25 @@ class RoomNewFriendsAdapter : R.id.iv_gender, if (item.gender == 1) R.drawable.ic_home_man else R.drawable.ic_home_woman ) - val tvOnlineText = helper.getView(R.id.tv_online_text) - val ivTalk = helper.getView(R.id.iv_talk) - val svgaLiving = helper.getView(R.id.svga_living) - val llOnline = helper.getView(R.id.ll_online) + val tvTalk = helper.getView(R.id.tv_talk) val viewOnline = helper.getView(R.id.view_online) + val groupParty = helper.getView(R.id.group_party) + + viewOnline.isVisible = item.inOnline + if(item.inMic){ + groupParty.visibility = View.VISIBLE + } else { + groupParty.visibility = View.INVISIBLE + } if (item.inRoomUid != 0L) { - ivTalk.isVisible = false - svgaLiving.isVisible = true - viewOnline.isVisible = true - svgaLiving.loadFromAssets("svga/home_living.svga") - tvOnlineText.text = "直播中" - llOnline.setOnClickListener { + tvTalk.text = "去找TA" + tvTalk.setOnClickListener { AVRoomActivity.start(mContext, item.inRoomUid) } } else { - ivTalk.isVisible = true - svgaLiving.isVisible = false - viewOnline.isVisible = false - tvOnlineText.text = "和TA聊" - llOnline.setOnClickListener { + tvTalk.text = "和TA聊" + tvTalk.setOnClickListener { NimP2PMessageActivity.start(mContext, item.uid.toString()) } } @@ -74,15 +81,58 @@ class RoomNewFriendsAdapter : val tvNickname = helper.getView(R.id.tv_nickname) tvNickname.text = item.nick - VipHelper.loadVipNickColor(tvNickname, item.userVipInfoVO, "#282828") - VipHelper.loadVipIcon(helper.getView(R.id.iv_vip_icon), item.userVipInfoVO) + + val ivUserLevel: AppCompatImageView = helper.getView(R.id.iv_user_level) + ivUserLevel.visibility = View.GONE + if (item.userLevelVo != null && !TextUtils.isEmpty(item.userLevelVo.getExperUrl())) { + ivUserLevel.visibility = View.VISIBLE + ImageLoadUtils.loadImage(mContext, item.userLevelVo.getExperUrl(), ivUserLevel) + } + + val ivCharmLevel: AppCompatImageView = helper.getView(R.id.iv_charm_level) + ivCharmLevel.visibility = View.GONE + if (item.userLevelVo != null && !TextUtils.isEmpty(item.userLevelVo.getCharmUrl())) { + ivCharmLevel.visibility = View.VISIBLE + ImageLoadUtils.loadImage( + mContext, + item.userLevelVo.getCharmUrl(), + ivCharmLevel + ) + } + + if (item.audioCard != null && !TextUtils.isEmpty(item.audioCard.audioUrl)) { + helper.getView(R.id.tv_desc).visibility = View.GONE + helper.getView(R.id.llAudio).visibility = View.VISIBLE + + helper.getView(R.id.tvAudio).text = item.audioCard.second.toString() + helper.getView(R.id.llAudio) + .setOnClickListener { v -> toggleAudio(item.audioCard) } + } else { + helper.getView(R.id.tv_desc).visibility = View.VISIBLE + helper.getView(R.id.llAudio).visibility = View.GONE + } + + val mLabelRecyclerView = helper.getView(R.id.mLabelRecyclerView) + if(!ListUtils.isListEmpty(item.labels)){ + mLabelRecyclerView.visibility = View.VISIBLE + val userInfoLabelAdapter = UserInfoLabelAdapter() + + val labelLayoutManager = LinesFlexBoxLayoutManager(mContext) + labelLayoutManager.flexDirection = FlexDirection.ROW + labelLayoutManager.alignItems = AlignItems.FLEX_START + labelLayoutManager.setMaxLines(1) + mLabelRecyclerView.layoutManager = labelLayoutManager + mLabelRecyclerView.adapter = userInfoLabelAdapter + + userInfoLabelAdapter.setNewData(item.labels) + } else { + mLabelRecyclerView.visibility = View.GONE + } + } - override fun onViewAttachedToWindow(holder: BaseViewHolder) { - super.onViewAttachedToWindow(holder) - val svgaLiving = holder.getView(R.id.svga_living) - svgaLiving?.loadFromAssets("svga/home_living.svga") - } + private fun toggleAudio(audioCard: SoundBean) { + } } \ No newline at end of file diff --git a/app/src/main/res/drawable-xhdpi/bg_game.png b/app/src/main/res/drawable-xhdpi/bg_game.png new file mode 100644 index 0000000000000000000000000000000000000000..033b53995298a5a1ccfa2fc4d7ed9838a23ffeb3 GIT binary patch literal 4153 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 D8lEv8 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/bg_masking_game.png b/app/src/main/res/drawable-xhdpi/bg_masking_game.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e74675757f2f096b0295fa33a09d582363f73f GIT binary patch literal 2098 zcmV-22+jA2P)Px+>`6pHRCr$PTx)C;RTTct-EG$vl>)VfC=p`_@kK<9fgeUNTEv2iSP@DTqCqhR zgJAkYfyGB65ilA9u|Y)xB2)yFTBvC87sU7qzJeqK15tTY3QB9YyK~I!%$@Gs-PxJh zouyBHKVKvD@%pUlDQ?mqmnk^Qjc2cT(pu{GS^OxN zCNy(+>`4^qgC2YdI5l)fl+X@2X%LCa4Z-OSyS`K(Y5s6V(Z?}EpyEiq0epKr_X2T> zHgouoI0mJ1F~od0ZT>q%X^`!fjcVYqggmNY0N)5;Nf_rS$}IkBLV0RTi%JY8JKN0_ z(Gv?Np36JPLUA`THMwlA?n%pgd%%V$Z4+OFDrrA@_=cKsQjJE6T< zNq-~>n750EM~YC|;S$k^gIwCFa;J7Dm;wBh$aJEu?k@V%Am~#rrw}SEaj^?iF-4xQ ze$f8Z?z{PSll%4OS3d(jx8p?JR5~RIDitA&PK1pVmn`XQWEu}@yITs=;zo)Trr%D* zK>Cw<1NdF>k9Xj=x~bG=l+6Gh+sQYHB81(7?n@q5w4J<5y7b3Ehd<_Fky4D+8@adkOP7 zt=*i-B4PTCnAM^(!$al@>hJg+ZTSBE`>Dl75Ww_kBW_0m7X+1Ya`ls|ojRR!^^>bz zAowBt_x5Cb2~cuzSSe0_n6sU)2Vs=gbt{Ci5;U!Q4zzs|pK)mYee|Q`z)sLME`z{b zjs!X7G}C}hqR1r9$&b`ixBbJ3uz8#{PuQK+C2F zXj59+&y>BYxA5pNVTxO33rw!8#K8P|b<_j!;|c7nf6zGlxUL|*>Y#akV-_r#YQi~|9R^y+ThgZtOVWn zE|-NOs0Cnup&+X)>D8>hptdWhRyF8#c}TyiejmYSAg0Ce%J#Wk=N^xHP?y^M8~F}s zxHs7%XSzp1EH7%HU5K>ooXYaPgTLeB8rqX>zGhuPx?%Me4kcn(#K4sWFLqp(Sf9dY z91cgYy8c1RdWdl)C`r;f9vUykGJ^fJ_H*p&BFdiV_07Q82#-w z6i)={PVRY+$A*BXZTpN<>hjv|);lS8N{L=^q`lLg=GKpZ@e{!7pFBd}yTR&m&jjhp z)7EnhGw$}{ct9s}1c>n2wmG!XYkYhWr0++ubEqZ84PF8KY=E}UT7v*^@u3dB(D+RF zp?DBhxa~Ws-S$P0ZaDc3jzmiF0;jw;QqM_FdyH&X^}QY}r5-D(syE;h<4{K%mNqUR zx39}=;qy(9Nz%o|C0Ie$SK8-cy7yuT29CwrQQNqH&iWljP6X*7m20`8G>lcOzdLd} z*W`K*avF_ae}47dqUggPF;2E=SkyG1PPn5oA z3DoX+oX+^2hb*v1Szzg>PtsRG4k2)Y^v+FsjfWQttOQ|ZS3MlG;3BWK+r)pKu@+$Ku@!>Ce3TqBtlBK{|$>@-8gHToRZMMrqI;?+N}G zXa{4>zpZ#TsFbFTt6&64Abm9z2`nL?Qntw(0jo15+YpX`5fW0-2M8=_Z+3$GjNzSywI?Sn!SuWU!8)l zAX^8cEUL;dg)}T6;2J5@%t#BRH%{$Y_9z=%S{W{H?>*wA;xq6I3%t?Lik*m(`l=~k z9vtn@FF{>7jjC3nl7NLwxY6w(>QuI;op;PDC#QCp=QCE`5N5?^dL{Gu4uI5nNEtm)m z4*|GS|1|+lT}!(Ha@$zktNLDpK$69D|nmQtvba`ewwpuZIBU_vVxrvRKF#t{}cLJ1t~WE^OEo{oAA cQg`b84|b80AlL6-9{>OV07*qoM6N<$f^2vA+yDRo literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/bg_masking_party.png b/app/src/main/res/drawable-xhdpi/bg_masking_party.png new file mode 100644 index 0000000000000000000000000000000000000000..132967a6411c49480c86559da325ecb0b55f907b GIT binary patch literal 2861 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%0AhcVPSN$2<}fl0@THyNr$0g*opRIjMg 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/bg_759fff_2.xml b/app/src/main/res/drawable/bg_759fff_2.xml new file mode 100644 index 000000000..d856d8c92 --- /dev/null +++ b/app/src/main/res/drawable/bg_759fff_2.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_339168fa_corner.xml b/app/src/main/res/drawable/shape_339168fa_corner.xml new file mode 100644 index 000000000..088650767 --- /dev/null +++ b/app/src/main/res/drawable/shape_339168fa_corner.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_room_new_friends_bg.xml b/app/src/main/res/drawable/shape_room_new_friends_bg.xml index 8f3f73b37..3719f7d2b 100644 --- a/app/src/main/res/drawable/shape_room_new_friends_bg.xml +++ b/app/src/main/res/drawable/shape_room_new_friends_bg.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/layout/fragment_accompany.xml b/app/src/main/res/layout/fragment_accompany.xml index 7d0b12d8b..59e0cf5ae 100644 --- a/app/src/main/res/layout/fragment_accompany.xml +++ b/app/src/main/res/layout/fragment_accompany.xml @@ -71,6 +71,7 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:overScrollMode="never" + android:layout_marginStart="@dimen/dp_4" android:paddingStart="0dp" android:paddingEnd="@dimen/dp_10" android:scrollbars="none" @@ -90,7 +91,7 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="@dimen/dp_2" + android:layout_marginTop="@dimen/dp_10" android:overScrollMode="never" android:scrollbars="none" /> diff --git a/app/src/main/res/layout/item_home_chat.xml b/app/src/main/res/layout/item_home_chat.xml index 0beecfde4..e42fd81ba 100644 --- a/app/src/main/res/layout/item_home_chat.xml +++ b/app/src/main/res/layout/item_home_chat.xml @@ -4,25 +4,26 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/root_view" android:layout_width="wrap_content" - android:layout_height="wrap_content"> + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/dp_8"> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintStart_toStartOf="@+id/view_aperture" + app:layout_constraintTop_toTopOf="@+id/view_aperture" /> + + + + + + + + + tools:text="音樂與你" /> \ No newline at end of file diff --git a/app/src/main/res/layout/item_room_new_friends.xml b/app/src/main/res/layout/item_room_new_friends.xml index 5931e8858..b916883b6 100644 --- a/app/src/main/res/layout/item_room_new_friends.xml +++ b/app/src/main/res/layout/item_room_new_friends.xml @@ -10,43 +10,78 @@ android:id="@+id/view_bg" android:layout_width="0dp" android:layout_height="0dp" - android:layout_marginStart="10dp" - android:layout_marginEnd="15dp" + android:layout_marginStart="12dp" + android:layout_marginEnd="12dp" android:background="@drawable/shape_room_new_friends_bg" - app:layout_constraintDimensionRatio="335:93" + app:layout_constraintDimensionRatio="351:96" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="1.0" - app:layout_constraintStart_toStartOf="@id/iv_avatar" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + + + app:layout_constraintBottom_toBottomOf="@+id/view_aperture" + app:layout_constraintEnd_toEndOf="@+id/view_aperture" + app:layout_constraintStart_toStartOf="@+id/view_aperture" + app:layout_constraintTop_toTopOf="@+id/view_aperture" /> + + + + + + + app:layout_constraintBottom_toBottomOf="@id/iv_avatar" + app:layout_constraintEnd_toEndOf="@id/iv_avatar" /> @@ -58,37 +93,52 @@ android:layout_marginStart="4dp" android:background="@drawable/shape_ff9cce_corner" android:gravity="center_vertical" + app:layout_constraintBottom_toBottomOf="@id/tv_nickname" app:layout_constraintStart_toEndOf="@id/tv_nickname" - app:layout_constraintTop_toTopOf="@+id/tv_nickname" - app:layout_constraintBottom_toBottomOf="@id/tv_nickname"> + app:layout_constraintTop_toTopOf="@+id/tv_nickname"> + app:layout_constraintTop_toTopOf="@id/tv_nickname" + tools:src="@mipmap/ic_user_level" + tools:visibility="visible" /> + + + + + android:layout_height="@dimen/dp_26" + android:layout_marginStart="@dimen/dp_10" + android:layout_marginTop="6dp" + android:background="@drawable/bg_f5f6fa_anomaly" + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingStart="@dimen/dp_6" + android:paddingEnd="@dimen/dp_12" + android:visibility="gone" + app:layout_constraintStart_toEndOf="@id/iv_avatar" + app:layout_constraintTop_toBottomOf="@id/tv_constellation" + tools:visibility="visible"> - + + android:id="@+id/liv_user" + android:layout_width="@dimen/dp_22" + android:layout_height="@dimen/dp_10" + android:layout_marginStart="@dimen/dp_4" + android:src="@drawable/ic_sound_wave" + app:autoPlay="true" /> - + android:layout_marginStart="@dimen/dp_6" + android:textColor="@color/color_1F1B4F" + android:textSize="@dimen/sp_12" + tools:text="60" /> + + + + \ No newline at end of file diff --git a/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java index f4b4831f1..35dca56e1 100644 --- a/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java +++ b/core/src/main/java/com/yizhuan/xchat_android_core/user/bean/UserInfo.java @@ -313,6 +313,14 @@ public class UserInfo implements Serializable { private long inRoomUid; + @Getter + @Setter + public boolean inMic; + + @Getter + @Setter + public boolean inOnline; + public UserInfo() { } diff --git a/library/src/main/java/com/yizhuan/xchat_android_library/utils/StringCutUtils.java b/library/src/main/java/com/yizhuan/xchat_android_library/utils/StringCutUtils.java new file mode 100644 index 000000000..d719b80fc --- /dev/null +++ b/library/src/main/java/com/yizhuan/xchat_android_library/utils/StringCutUtils.java @@ -0,0 +1,103 @@ +package com.yizhuan.xchat_android_library.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + *

+ * + * @author jiahui + * date 2018/2/28 + */ +public class StringCutUtils { + + private static String regEx = "[\u4e00-\u9fa5]"; // 中文范围 + + /** + * 格式化字符串 + * @param string 原始输入字符串 + * @param maxCount 最大字符限制,中文算作2个字符,其他都算1个字符 + * @return + */ + private static String formatText(String string, int maxCount) { + if ( (string == null || string.length() == 0) + && getChCount(string) > maxCount) { + string = subStrByLen(string, maxCount - 1); + } + return string; + } + + /** + * + * 截取字符串,超出最大字数截断并显示"..." + * @param str 原始字符串 + * @param length 最大字数限制(以最大字数限制7个为例,当含中文时,length应设为2*7,不含中文时设为7) + * @return 处理后的字符串 + */ + public static String subStrByLen(String str, int length) { + if (str == null || str.length() == 0) { + return ""; + } + int chCnt = getStrLen(str); + // 超出进行截断处理 + if (chCnt > length) { + int cur = 0; + int cnt = 0; + StringBuilder sb = new StringBuilder(); + while (cnt <= length && cur < str.length()) { + char nextChar = str.charAt(cur); + if (isChCharacter(String.valueOf(nextChar))) { + cnt += 2; + } else { + cnt++; + } + if (cnt <= length) { + sb.append(nextChar); + } else { + return sb.toString() + "..."; + } + cur++; + } + return sb.toString() + "..."; + } + // 未超出直接返回 + return str; + } + + /** + * 获取字符串中的中文字数 + */ + private static int getChCount(String str) { + int cnt = 0; + Pattern pattern = Pattern.compile(regEx); + Matcher matcher = pattern.matcher(str);; + while(matcher.find()) { + cnt++; + } + return cnt; + } + + /** + * 判断字符是不是中文 + */ + private static boolean isChCharacter(String str) { + if (str == null || str.length() == 0) { + return false; + } + if (str.length() > 1) { + return false; + } + return Pattern.matches(regEx, str); + } + + /** + * 获取字符长度,中文算作2个字符,其他都算1个字符 + */ + public static int getStrLen(String str) { + if (str == null || str.length() == 0) { + return 0; + } + return str.length() + getChCount(str); + } + +}