From 2a1983aa46727eda0dd89187dbd5682515ccfd08 Mon Sep 17 00:00:00 2001 From: max Date: Fri, 21 Jun 2024 19:35:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=8C=E6=88=90=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E8=B5=84=E6=96=99=E9=A1=B5-UI=E6=94=B9=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/home/fragment/ContactsListFragment.kt | 3 +- .../ui/user/activity/UserInfoActivity.java | 347 +++++--------- .../adapter/ContactsIndicatorAdapter.java | 100 ++++ .../app/ui/user/adapter/SelfPhotoAdapter.kt | 48 -- .../ui/user/adapter/UserInfoAlbumAdapter.kt | 17 + .../ui/user/adapter/UserInfoGiftAdapter.kt | 36 ++ .../adapter/UserInfoIndicatorAdapter.java | 27 +- .../ui/user/adapter/UserInfoPhotoAdapter.java | 59 --- .../user/adapter/UserInfoTopAlbumAdapter.kt | 27 ++ .../ui/user/fragment/UserInfoDataFragment.kt | 149 ++++++ .../ui/user/viewmodel/UserInfoViewModel.kt | 46 +- .../app/utils/AppBarStateChangeListener.java | 6 +- .../drawable-xxhdpi/user_info_bg_gift.webp | Bin 0 -> 39538 bytes .../user_info_bg_good_id.9.png | Bin 0 -> 17623 bytes .../user_info_bg_lucku_gift.webp | Bin 0 -> 46496 bytes .../user_info_ic_arrow_down.webp | Bin 0 -> 336 bytes .../user_info_ic_arrow_right.webp | Bin 0 -> 468 bytes .../drawable-xxhdpi/user_info_ic_copy.webp | Bin 0 -> 306 bytes .../res/drawable-xxhdpi/user_info_ic_id.webp | Bin 0 -> 600 bytes .../main/res/drawable/shape_white_top_8dp.xml | 7 + .../res/drawable/user_info_bg_fans_follow.xml | 10 + .../main/res/drawable/user_info_bg_live.xml | 10 +- .../main/res/layout/activity_user_info.xml | 433 +++++++++++------- .../res/layout/banner_userinfo_photo_item.xml | 6 - .../res/layout/user_info_data_fragment.xml | 205 +++++++++ .../main/res/layout/user_info_item_album.xml | 21 + .../main/res/layout/user_info_item_gift.xml | 77 ++++ .../res/layout/user_info_item_top_album.xml | 23 + app/src/main/res/values-ar/strings.xml | 3 + app/src/main/res/values-zh-rTW/strings.xml | 2 + app/src/main/res/values/colors.xml | 5 + app/src/main/res/values/strings.xml | 3 + app/src/main/res/values/styles.xml | 5 + .../headwear/bean/HeadWearInfo.java | 10 + 34 files changed, 1142 insertions(+), 543 deletions(-) create mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/ContactsIndicatorAdapter.java delete mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/SelfPhotoAdapter.kt create mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoAlbumAdapter.kt create mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoGiftAdapter.kt delete mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoPhotoAdapter.java create mode 100644 app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoTopAlbumAdapter.kt create mode 100644 app/src/main/java/com/chwl/app/ui/user/fragment/UserInfoDataFragment.kt create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_bg_gift.webp create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_bg_good_id.9.png create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_bg_lucku_gift.webp create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_ic_arrow_down.webp create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_ic_arrow_right.webp create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_ic_copy.webp create mode 100644 app/src/main/res/drawable-xxhdpi/user_info_ic_id.webp create mode 100644 app/src/main/res/drawable/shape_white_top_8dp.xml create mode 100644 app/src/main/res/drawable/user_info_bg_fans_follow.xml delete mode 100644 app/src/main/res/layout/banner_userinfo_photo_item.xml create mode 100644 app/src/main/res/layout/user_info_data_fragment.xml create mode 100644 app/src/main/res/layout/user_info_item_album.xml create mode 100644 app/src/main/res/layout/user_info_item_gift.xml create mode 100644 app/src/main/res/layout/user_info_item_top_album.xml diff --git a/app/src/main/java/com/chwl/app/home/fragment/ContactsListFragment.kt b/app/src/main/java/com/chwl/app/home/fragment/ContactsListFragment.kt index 32ba507cb..3f83a6b10 100644 --- a/app/src/main/java/com/chwl/app/home/fragment/ContactsListFragment.kt +++ b/app/src/main/java/com/chwl/app/home/fragment/ContactsListFragment.kt @@ -26,6 +26,7 @@ import com.chwl.app.support.FragmentVisibleStateHelper import com.chwl.app.ui.im.friend.FriendListFragment import com.chwl.app.ui.im.recent.RecentListFragment import com.chwl.app.ui.relation.FansListFragment +import com.chwl.app.ui.user.adapter.ContactsIndicatorAdapter import com.chwl.app.ui.user.adapter.UserInfoIndicatorAdapter import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator import com.chwl.core.Constants @@ -85,7 +86,7 @@ class ContactsListFragment : BaseViewBindingFragment tagList.add(getString(R.string.layout_fragment_contact_list_04)) val commonNavigator = CommonNavigator(context) commonNavigator.setTitleWrapContent(false) - val magicIndicatorAdapter = UserInfoIndicatorAdapter(context, tagList) + val magicIndicatorAdapter = ContactsIndicatorAdapter(context, tagList) magicIndicatorAdapter.setOnItemSelectListener { position: Int, view: TextView? -> binding.viewPager.currentItem = position } diff --git a/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoActivity.java b/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoActivity.java index 420630b53..eb6a40d62 100644 --- a/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoActivity.java +++ b/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoActivity.java @@ -7,21 +7,28 @@ import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; import android.content.Intent; -import android.os.CountDownTimer; import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import androidx.core.content.ContextCompat; import androidx.core.widget.NestedScrollView; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; -import androidx.viewpager.widget.ViewPager; import androidx.viewpager2.widget.ViewPager2; import com.chwl.app.avroom.adapter.CommonVPAdapter; +import com.chwl.app.ui.user.adapter.UserInfoTopAlbumAdapter; +import com.chwl.app.ui.user.fragment.UserInfoDataFragment; +import com.chwl.app.utils.AppBarStateChangeListener; +import com.chwl.core.decoration.headwear.bean.HeadWearInfo; +import com.chwl.core.noble.NobleUtil; +import com.example.lib_utils.UiUtils; +import com.google.android.material.appbar.AppBarLayout; import com.netease.nim.uikit.StatusBarUtil; +import com.netease.nim.uikit.common.util.sys.TimeUtil; import com.netease.nim.uikit.impl.cache.NimUserInfoCache; import com.netease.nimlib.sdk.RequestCallbackWrapper; import com.netease.nimlib.sdk.uinfo.model.NimUserInfo; @@ -32,7 +39,6 @@ import com.opensource.svgaplayer.SVGAVideoEntity; import com.chwl.app.R; import com.chwl.app.UIHelper; import com.chwl.app.audio.helper.AudioPlayerHelper; -import com.chwl.app.audio.helper.OnPlayListener; import com.chwl.app.avroom.ButtonItemFactory; import com.chwl.app.avroom.activity.AVRoomActivity; import com.chwl.app.base.BaseBindingActivity; @@ -41,12 +47,8 @@ import com.chwl.app.common.widget.dialog.DialogManager; import com.chwl.app.databinding.ActivityUserInfoBinding; import com.chwl.app.ui.im.avtivity.NimFriendModel; import com.chwl.app.ui.im.avtivity.NimP2PMessageActivity; -import com.chwl.app.ui.user.adapter.SelfPhotoAdapter; import com.chwl.app.ui.user.adapter.UserInfoIndicatorAdapter; -import com.chwl.app.ui.user.adapter.UserInfoPhotoAdapter; import com.chwl.app.ui.user.adapter.UserPhotoAdapter; -import com.chwl.app.ui.user.fragment.UserInfoGiftWallFragment; -import com.chwl.app.ui.user.fragment.UserInfoInfoFragment; import com.chwl.app.ui.user.viewmodel.UserInfoViewModel; import com.chwl.app.ui.utils.ImageLoadUtils; import com.chwl.app.ui.utils.ImageLoadUtilsV2; @@ -56,13 +58,9 @@ import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.CommonNavi import com.chwl.app.ui.widget.rollviewpager.adapter.StaticPagerAdapterWrapper; import com.chwl.app.utils.RegexUtil; import com.chwl.core.XConstants; -import com.chwl.core.Constants; import com.chwl.core.auth.AuthModel; -import com.chwl.core.bean.RoomQueueInfo; import com.chwl.core.im.friend.IMFriendModel; import com.chwl.core.level.UserLevelVo; -import com.chwl.core.manager.AudioEngineManager; -import com.chwl.core.manager.AvRoomDataManager; import com.chwl.core.praise.PraiseModel; import com.chwl.core.praise.event.IsLikedEvent; import com.chwl.core.praise.event.PraiseEvent; @@ -72,12 +70,10 @@ import com.chwl.core.user.bean.UserDetailInfo; import com.chwl.core.user.bean.UserInfo; import com.chwl.core.user.bean.UserPhoto; import com.chwl.core.user.event.LoginUserInfoUpdateEvent; -import com.chwl.core.utils.LogUtils; import com.chwl.core.utils.CoreLogger; import com.chwl.library.annatation.ActLayoutRes; -import com.chwl.library.utils.ListUtils; -import com.chwl.library.utils.SingleToastUtil; -import com.chwl.library.utils.SizeUtils; +import com.zhpan.bannerview.BannerViewPager; +import com.zhpan.bannerview.constants.IndicatorGravity; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; @@ -107,24 +103,20 @@ public class UserInfoActivity extends BaseBindingActivity fragmentList = new ArrayList<>(2); - fragmentList.add(new UserInfoInfoFragment()); - fragmentList.add(new UserInfoGiftWallFragment()); - final List tagList = new ArrayList<>(2); + List fragmentList = new ArrayList<>(1); + fragmentList.add(new UserInfoDataFragment()); +// fragmentList.add(new UserInfoGiftWallFragment()); + final List tagList = new ArrayList<>(1); tagList.add(getString(R.string.me_data)); - tagList.add(getString(R.string.me_gift_wall)); +// tagList.add(getString(R.string.me_gift_wall)); CommonNavigator commonNavigator = new CommonNavigator(context); commonNavigator.setTitleWrapContent(false); UserInfoIndicatorAdapter magicIndicatorAdapter = new UserInfoIndicatorAdapter(context, tagList); @@ -236,9 +218,8 @@ public class UserInfoActivity extends BaseBindingActivity { initPhoto(dataBean.getPrivatePhoto()); setWhereVisible(); @@ -287,6 +268,18 @@ public class UserInfoActivity extends BaseBindingActivity { + mBinding.llId.setOnClickListener(view -> { copyName(); - return true; }); } } @@ -369,36 +378,34 @@ public class UserInfoActivity extends BaseBindingActivity { + showUserPhoto(position); + }) + .setRTLMode(isRTL) + .setIndicatorHeight(width) + .setIndicatorGravity(isRTL ? IndicatorGravity.START : IndicatorGravity.END) + .setIndicatorSliderWidth(width, width * 2) + .setIndicatorSliderGap(context.getResources().getDimensionPixelOffset(R.dimen.dp_6)) + .setIndicatorMargin(isRTL ? marginEnd : 0, 0, isRTL ? 0 : marginEnd, context.getResources().getDimensionPixelOffset(R.dimen.dp_71)) + .setAdapter(adapter).create(); + } + /** * 相册 */ private void initPhoto(List list) { - if (ListUtils.isListEmpty(list)) { - return; + if (list == null) { + mBinding.bannerView.refreshData(new ArrayList()); + } else { + mBinding.bannerView.refreshData(list); } - if (bannerAdapter == null) { -// mBinding.rollView.setHintViewDelegate(new RollPagerView.HintViewDelegate() { -// @SuppressLint("SetTextI18n") -// @Override -// public void setCurrentPosition(int position, HintView hintView) { -// if (mBinding.rollView.getAdapter() != null) { -// mBinding.tvRollHint.setText((position + 1) + "/" + mBinding.rollView.getAdapter().getCount()); -// } -// } -// -// @Override -// public void initView(int length, int gravity, HintView hintView) { -// -// } -// }); - bannerAdapter = identityState == OWN ? new SelfPhotoAdapter(list, this) - : new UserInfoPhotoAdapter(list, this); - mBinding.rollView.setAdapter(bannerAdapter); - //设置透明度 - mBinding.rollView.setAnimationDurtion(500); - } - bannerAdapter.setData(list); - bannerAdapter.notifyDataSetChanged(); } private void setUserLevel(UserLevelVo userLevelVo) { @@ -424,24 +431,45 @@ public class UserInfoActivity extends BaseBindingActivity { - LogUtils.d("verticalOffset=" + verticalOffset); - if (flag == 0 && Math.abs(verticalOffset) > SizeUtils.dp2px(context, 200)) { - //展开 - flag = 1; - mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back_black); - mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.white)); - setTitleVisible(true); - setEditButton(identityState, true); - } else if (flag == 1 && Math.abs(verticalOffset) <= 200) { - //合起来 - flag = 0; - mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back); - mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.transparent)); - setTitleVisible(false); - setEditButton(identityState, false); + mBinding.appBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() { + @Override + protected float getBias() { + return 0.6f; + } + + @Override + public void onStateChanged(AppBarLayout appBarLayout, State state) { + if (state == State.COLLAPSED) { + mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back_black); + mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.white)); + setTitleVisible(true); + setEditButton(identityState, true); + }else{ + mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back); + mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.transparent)); + setTitleVisible(false); + setEditButton(identityState, false); + } } }); +// mBinding.appBarLayout.addOnOffsetChangedListener((appBarLayout, verticalOffset) -> { +// LogUtils.d("verticalOffset=" + verticalOffset); +// if (flag == 0 && Math.abs(verticalOffset) > SizeUtils.dp2px(context, 200)) { +// //展开 +// flag = 1; +// mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back_black); +// mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.white)); +// setTitleVisible(true); +// setEditButton(identityState, true); +// } else if (flag == 1 && Math.abs(verticalOffset) <= 200) { +// //合起来 +// flag = 0; +// mBinding.ivUserBack.setImageResource(R.drawable.icon_user_back); +// mBinding.tbUserInfo.setBackgroundColor(getResources().getColor(R.color.transparent)); +// setTitleVisible(false); +// setEditButton(identityState, false); +// } +// }); } private void setEditButton(int identityState, boolean isExpanded) { @@ -480,9 +508,15 @@ public class UserInfoActivity extends BaseBindingActivity userPhotos = new ArrayList<>(); List realmList = userInfo.getPrivatePhoto(); + if (realmList == null) { + return; + } for (UserPhoto photo : realmList) { UserPhoto newPhoto = new UserPhoto(); newPhoto.setPid(photo.getPid()); @@ -629,138 +663,9 @@ public class UserInfoActivity extends BaseBindingActivity { -// // 点击跳转到声音签名页面 -// UIHelper.showSoundAct( -// this, -// UserInfoModifyActivity.Method.AUDIO, -// ResUtil.getString(R.string.ui_user_userinfomodifyactivity_07), -// audioCard); -// }); - } - - private void showSoundCard(UserInfo.SoundBean audioCard) { - mBinding.llAudio.setVisibility(View.VISIBLE); -// mBinding.llAudioTip.setVisibility(View.GONE); - mBinding.tvAudio.setText(audioCard.getSecond() + "s"); - mBinding.livUser.stopAnimation(); - mBinding.llAudio.setOnClickListener(v -> toggleAudio(audioCard)); - } - - private void toggleAudio(UserInfo.SoundBean audioCard) { - String url = ""; - if (audioCard.getAudioUrl().contains("http")) { - url = audioCard.getAudioUrl(); - } - if (TextUtils.isEmpty(url)) return; - if (!audioPlaying) { - playAudio(url, audioCard.getSecond()); - } else { - stopAudio(audioCard.getSecond()); - } - } - - private CountDownTimer timer = null; - - private void playAudio(String url, int second) { - if (audioPlaying) return; - audioPlaying = true; - playSvgaBg(mBinding.livUser, "svga/user_sound_play.svga"); - mBinding.ivAudioControl.setImageResource(R.drawable.user_info_ic_audio_pause); - startCountDown(second); - if (AvRoomDataManager.get().mCurrentRoomInfo != null) { - AudioEngineManager.get().setRemoteMute(true);//設置靜音 - AudioEngineManager.get().setMute(true);//不能説話 - AudioEngineManager.get().setRole(Constants.CLIENT_ROLE_AUDIENCE); - } - AudioPlayerHelper.get().playInThread(url, new OnPlayListener() { - - @Override - public void onError(String error) { - SingleToastUtil.showToast(getString(R.string.me_error_playing)); - stopAudio(second); - } - - @Override - public void onPrepared() { - - } - - @Override - public void onPlaying(long currDuration) { - } - - @Override - public void onCompletion() { - stopAudio(second); - } - - }); - } - - private void startCountDown(int time) { - timer = new CountDownTimer((time + 1) * 1000L, 1000L) { - @Override - public void onTick(long millisUntilFinished) { - String time = String.valueOf(millisUntilFinished / 1000); - mBinding.tvAudio.setText(time + "s"); - } - - @Override - public void onFinish() { - } - }; - timer.start(); - } - - private void stopCountDown(int second) { - if (timer != null) { - mBinding.tvAudio.setText(second+"s"); - timer.cancel(); - } - } - - private void stopAudio(int second) { - stopCountDown(second); - if (!audioPlaying) return; - audioPlaying = false; - mBinding.livUser.stopAnimation(); - mBinding.ivAudioControl.setImageResource(R.drawable.user_info_ic_audio_play); - AudioPlayerHelper.get().endPlay(); - if (AvRoomDataManager.get().mCurrentRoomInfo != null) { - AudioEngineManager.get().setRemoteMute(isRemoteMute);//非靜音 - AudioEngineManager.get().setMute(isMute);//能説話 - AudioEngineManager.get().setRole(isMute ? Constants.CLIENT_ROLE_AUDIENCE : Constants.CLIENT_ROLE_BROADCASTER); - } - } - @Override protected void onPause() { super.onPause(); - if (audioPlaying) { - stopAudio(userInfo.getAudioCard().getSecond()); - } } @Override diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/ContactsIndicatorAdapter.java b/app/src/main/java/com/chwl/app/ui/user/adapter/ContactsIndicatorAdapter.java new file mode 100644 index 000000000..1818d12e4 --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/user/adapter/ContactsIndicatorAdapter.java @@ -0,0 +1,100 @@ +package com.chwl.app.ui.user.adapter; + +import android.content.Context; +import android.view.Gravity; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.TextView; + +import androidx.core.content.ContextCompat; + +import com.chwl.app.R; +import com.chwl.app.ui.widget.XRecyclerView.ScaleTransitionPagerTitleView; +import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil; +import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; +import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; + +import java.util.List; + +public class ContactsIndicatorAdapter extends CommonNavigatorAdapter { + private final List mTitleList; + + private int textSize = 16; + private float minScale = 1f; + private boolean showIndicator = true; + private OnItemSelectListener mOnItemSelectListener; + + public ContactsIndicatorAdapter(Context context, List charSequences) { + this.mTitleList = charSequences; + } + + @Override + public int getCount() { + return mTitleList == null ? 0 : mTitleList.size(); + } + + @Override + public IPagerTitleView getTitleView(Context context, final int i) { + ScaleTransitionPagerTitleView scaleTransitionPagerTitleView = new ScaleTransitionPagerTitleView(context, true); + scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(context, R.color.color_84868A)); + scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context, R.color.color_1E1E1F)); + scaleTransitionPagerTitleView.setMinScale(minScale); + scaleTransitionPagerTitleView.setTextSize(textSize); + int padding = UIUtil.dip2px(context, 16); + scaleTransitionPagerTitleView.setPadding(padding, 0, padding, 0); + scaleTransitionPagerTitleView.setText(mTitleList.get(i)); + scaleTransitionPagerTitleView.setOnClickListener(view -> { + if (mOnItemSelectListener != null) { + mOnItemSelectListener.onItemSelect(i, scaleTransitionPagerTitleView); + } + }); + return scaleTransitionPagerTitleView; + } + + @Override + public IPagerIndicator getIndicator(Context context) { + if (!showIndicator) return null; + DrawableIndicator indicator = new DrawableIndicator(context); + indicator.setMode(DrawableIndicator.MODE_EXACTLY); + indicator.setDrawableWidth(UIUtil.dip2px(context, 24)); + indicator.setDrawableHeight(UIUtil.dip2px(context, 8)); + indicator.setIndicatorDrawable(context.getResources().getDrawable(R.drawable.base_ic_indicator)); + FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); + lp.gravity = Gravity.END; + indicator.setLayoutParams(lp); + return indicator; + } + + public int getTextSize() { + return textSize; + } + + public void setTextSize(int textSize) { + this.textSize = textSize; + } + + public float getMinScale() { + return minScale; + } + + public void setMinScale(float minScale) { + this.minScale = minScale; + } + + public boolean isShowIndicator() { + return showIndicator; + } + + public void setShowIndicator(boolean showIndicator) { + this.showIndicator = showIndicator; + } + + public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) { + mOnItemSelectListener = onItemSelectListener; + } + + public interface OnItemSelectListener { + void onItemSelect(int position, TextView view); + } +} diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/SelfPhotoAdapter.kt b/app/src/main/java/com/chwl/app/ui/user/adapter/SelfPhotoAdapter.kt deleted file mode 100644 index 0fec7945e..000000000 --- a/app/src/main/java/com/chwl/app/ui/user/adapter/SelfPhotoAdapter.kt +++ /dev/null @@ -1,48 +0,0 @@ -package com.chwl.app.ui.user.adapter - -import android.content.Context -import android.view.Gravity -import android.view.View -import android.view.ViewGroup -import android.widget.FrameLayout -import android.widget.ImageView -import com.chwl.app.R -import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil -import com.chwl.app.ui.widget.rollviewpager.adapter.StaticPagerAdapterWrapper -import com.chwl.core.user.bean.UserDetailInfo - -class SelfPhotoAdapter( - photoBeans: List, - context: Context -) : StaticPagerAdapterWrapper(photoBeans, context) { - private val origin by lazy { - UserInfoPhotoAdapter(photoBeans, context) - } - - override fun getView(container: ViewGroup?, position: Int): View { - val originView = origin.getView(container, position) - val flContainer = FrameLayout(context) - flContainer.layoutParams = FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT - ) - flContainer.addView(originView) - //overlay - val statusView = ImageView(context) - statusView.setImageResource(R.drawable.ic_album_auditing) - statusView.scaleType = ImageView.ScaleType.CENTER_INSIDE - val statusViewLayoutParams = - FrameLayout.LayoutParams(UIUtil.dip2px(context, 86.0), UIUtil.dip2px(context, 51.0)) - statusViewLayoutParams.gravity = Gravity.RIGHT - flContainer.addView(statusView, statusViewLayoutParams) - - val isVisit = (dataList.getOrNull(position)?.isReview == true) - statusView.visibility = if (isVisit) View.VISIBLE else View.GONE - return flContainer - } - - override fun setData(dataList: MutableList?) { - super.setData(dataList) - origin.setData(dataList) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoAlbumAdapter.kt b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoAlbumAdapter.kt new file mode 100644 index 000000000..99576ff0e --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoAlbumAdapter.kt @@ -0,0 +1,17 @@ +package com.chwl.app.ui.user.adapter + +import android.widget.ImageView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder +import com.chwl.app.R +import com.chwl.app.ui.utils.load +import com.chwl.core.user.bean.UserDetailInfo +import com.chwl.core.user.bean.UserPhoto + +class UserInfoAlbumAdapter : + BaseQuickAdapter(R.layout.user_info_item_album) { + override fun convert(helper: BaseViewHolder, item: UserDetailInfo.DataBean.PrivatePhotoBean) { + val imageView = helper.getView(R.id.iv_image) + imageView.load(item.photoUrl) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoGiftAdapter.kt b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoGiftAdapter.kt new file mode 100644 index 000000000..eb3371ca1 --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoGiftAdapter.kt @@ -0,0 +1,36 @@ +package com.chwl.app.ui.user.adapter + +import android.view.ViewGroup +import android.widget.ImageView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder +import com.chwl.app.R +import com.chwl.app.ui.utils.load +import com.chwl.core.bean.UserInfoItem +import com.chwl.core.user.bean.GiftWallInfo + +class UserInfoGiftAdapter(private val itemBgRes: Int = R.drawable.user_info_bg_gift) : + BaseQuickAdapter(R.layout.user_info_item_gift) { + override fun onCreateDefViewHolder(parent: ViewGroup?, viewType: Int): BaseViewHolder { + return super.onCreateDefViewHolder(parent, viewType).apply { + getView(R.id.iv_bg).setImageResource(itemBgRes) + } + } + + override fun convert(helper: BaseViewHolder, item: GiftWallInfo) { + helper.setText(R.id.tv_name, item.giftName) + helper.setText(R.id.tv_count, "x${item.reciveCount}") + val iconView = helper.getView(R.id.iv_icon) + iconView.load(item.picUrl) + val rankView = helper.itemView.findViewById(R.id.iv_rank) + if (helper.bindingAdapterPosition == 0) { + rankView.setImageResource(R.drawable.ic_gift_one) + } else if (helper.bindingAdapterPosition == 1) { + rankView.setImageResource(R.drawable.ic_gift_two) + } else if (helper.bindingAdapterPosition == 2) { + rankView.setImageResource(R.drawable.ic_gift_three) + } else { + rankView.setImageDrawable(null) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoIndicatorAdapter.java b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoIndicatorAdapter.java index f9fd0b46c..76f0a429d 100644 --- a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoIndicatorAdapter.java +++ b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoIndicatorAdapter.java @@ -14,14 +14,15 @@ import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil; import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; +import com.chwl.app.ui.widget.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; import java.util.List; public class UserInfoIndicatorAdapter extends CommonNavigatorAdapter { private final List mTitleList; - private int textSize = 16; - private float minScale = 1f; + private int textSize = 20; + private float minScale = 0.9f; private boolean showIndicator = true; private OnItemSelectListener mOnItemSelectListener; @@ -37,11 +38,11 @@ public class UserInfoIndicatorAdapter extends CommonNavigatorAdapter { @Override public IPagerTitleView getTitleView(Context context, final int i) { ScaleTransitionPagerTitleView scaleTransitionPagerTitleView = new ScaleTransitionPagerTitleView(context, true); - scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(context, R.color.color_84868A)); - scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context, R.color.color_1E1E1F)); + scaleTransitionPagerTitleView.setNormalColor(ContextCompat.getColor(context, R.color.color_7F191919)); + scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context, R.color.color_191919)); scaleTransitionPagerTitleView.setMinScale(minScale); scaleTransitionPagerTitleView.setTextSize(textSize); - int padding = UIUtil.dip2px(context, 16); + int padding = UIUtil.dip2px(context, 12); scaleTransitionPagerTitleView.setPadding(padding, 0, padding, 0); scaleTransitionPagerTitleView.setText(mTitleList.get(i)); scaleTransitionPagerTitleView.setOnClickListener(view -> { @@ -54,14 +55,14 @@ public class UserInfoIndicatorAdapter extends CommonNavigatorAdapter { @Override public IPagerIndicator getIndicator(Context context) { - if (!showIndicator) return null; - DrawableIndicator indicator = new DrawableIndicator(context); - indicator.setMode(DrawableIndicator.MODE_EXACTLY); - indicator.setDrawableWidth(UIUtil.dip2px(context, 24)); - indicator.setDrawableHeight(UIUtil.dip2px(context, 8)); - indicator.setIndicatorDrawable(context.getResources().getDrawable(R.drawable.base_ic_indicator)); - FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - lp.gravity = Gravity.END; + LinePagerIndicator indicator = new LinePagerIndicator(context); + indicator.setMode(LinePagerIndicator.MODE_EXACTLY); + indicator.setLineHeight(UIUtil.dip2px(context, 3)); + indicator.setRoundRadius(UIUtil.dip2px(context, 1.5)); + indicator.setLineWidth(UIUtil.dip2px(context, 17)); + indicator.setColors(context.getResources().getColor(R.color.color_26CC9C)); + FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); +// lp.bottomMargin = mBottomMargin; indicator.setLayoutParams(lp); return indicator; } diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoPhotoAdapter.java b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoPhotoAdapter.java deleted file mode 100644 index 85238e43f..000000000 --- a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoPhotoAdapter.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.chwl.app.ui.user.adapter; - -import android.content.Context; -import android.content.Intent; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.chwl.app.R; -import com.chwl.app.ui.user.activity.ShowPhotoActivity; -import com.chwl.app.ui.utils.ImageLoadUtils; -import com.chwl.app.ui.widget.rollviewpager.adapter.StaticPagerAdapterWrapper; -import com.chwl.core.user.bean.UserDetailInfo; -import com.chwl.core.user.bean.UserPhoto; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Administrator - * @date 2017/8/7 - */ - -public class UserInfoPhotoAdapter extends StaticPagerAdapterWrapper { - private LayoutInflater mInflater; - - public UserInfoPhotoAdapter(List photoBeans, Context context) { - super(photoBeans, context); - mInflater = LayoutInflater.from(context); - } - - - @Override - public View getView(ViewGroup container, int position) { - UserDetailInfo.DataBean.PrivatePhotoBean photoInfo = dataList.get(position); - ImageView imgBanner = (ImageView) mInflater.inflate(R.layout.banner_userinfo_photo_item, container, false); - if (photoInfo == null) return imgBanner; - ImageLoadUtils.loadImage(context, photoInfo.getPhotoUrl(), imgBanner); - imgBanner.setOnClickListener(v -> { - showUserPhoto(position); - }); - return imgBanner; - } - - private void showUserPhoto(int position) { - //创建一个集合拿来做用户所有照片信息 - ArrayList userPhotos = new ArrayList<>(); - for (int i = 0; i < dataList.size(); i++) { - UserPhoto newPhoto = new UserPhoto(); - newPhoto.setPhotoUrl(dataList.get(i).getPhotoUrl()); - userPhotos.add(newPhoto); - } - Intent intent = new Intent(context, ShowPhotoActivity.class); - intent.putExtra("position", position); - intent.putExtra("photoList", userPhotos); - context.startActivity(intent); - } -} diff --git a/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoTopAlbumAdapter.kt b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoTopAlbumAdapter.kt new file mode 100644 index 000000000..b4c1ade92 --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/user/adapter/UserInfoTopAlbumAdapter.kt @@ -0,0 +1,27 @@ +package com.chwl.app.ui.user.adapter + +import android.view.View +import androidx.core.view.isVisible +import com.chwl.app.R +import com.chwl.app.ui.utils.ImageLoadUtilsV2 +import com.chwl.core.user.bean.UserDetailInfo +import com.zhpan.bannerview.BaseBannerAdapter +import com.zhpan.bannerview.BaseViewHolder + +class UserInfoTopAlbumAdapter(private val reviewStateEnabled: Boolean) : + BaseBannerAdapter() { + override fun getLayoutId(viewType: Int): Int { + return R.layout.user_info_item_top_album + } + + override fun bindData( + helper: BaseViewHolder, + item: UserDetailInfo.DataBean.PrivatePhotoBean?, + position: Int, + pageSize: Int + ) { + ImageLoadUtilsV2.loadImage(helper.findViewById(R.id.iv_image), item?.photoUrl) + val reviewView = helper.findViewById(R.id.iv_review) + reviewView.isVisible = reviewStateEnabled && item?.isReview == true + } +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/user/fragment/UserInfoDataFragment.kt b/app/src/main/java/com/chwl/app/ui/user/fragment/UserInfoDataFragment.kt new file mode 100644 index 000000000..6278f0a9c --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/user/fragment/UserInfoDataFragment.kt @@ -0,0 +1,149 @@ +package com.chwl.app.ui.user.fragment + +import android.content.Intent +import android.view.View +import androidx.core.view.isVisible +import androidx.fragment.app.activityViewModels +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chwl.app.R +import com.chwl.app.base.BaseViewBindingFragment +import com.chwl.app.databinding.UserInfoDataFragmentBinding +import com.chwl.app.support.FragmentVisibleStateHelper +import com.chwl.app.ui.user.activity.ShowPhotoActivity +import com.chwl.app.ui.user.activity.UserInfoModifyActivity +import com.chwl.app.ui.user.activity.UserModifyPhotosActivity +import com.chwl.app.ui.user.adapter.UserInfoAlbumAdapter +import com.chwl.app.ui.user.adapter.UserInfoGiftAdapter +import com.chwl.app.ui.user.viewmodel.UserInfoViewModel +import com.chwl.app.ui.widget.recyclerview.decoration.GridSpacingItemNewDecoration +import com.chwl.core.user.bean.UserPhoto +import com.example.lib_utils.UiUtils + +class UserInfoDataFragment : BaseViewBindingFragment() { + + private val albumAdapter = UserInfoAlbumAdapter() + + private val giftAdapter = UserInfoGiftAdapter() + + private val luckyGiftAdapter = UserInfoGiftAdapter(R.drawable.user_info_bg_lucku_gift) + + private val viewModel: UserInfoViewModel by activityViewModels() + + override fun init() { + initAlbum() + initGift() + initLuckyGift() + FragmentVisibleStateHelper(this).apply { + this.start { + onVisibleChanged(it, isFirstVisible) + } + } + } + + private fun initAlbum() { + binding.ivAlbumMore.isVisible = viewModel.isMe + binding.recyclerViewAlbum.adapter = albumAdapter + binding.layoutAlbum.setOnClickListener { + if (viewModel.isMe) { + UserModifyPhotosActivity.startForResult( + requireActivity(), + viewModel.userId, + UserInfoModifyActivity.Method.PHOTO + ) + } + } + albumAdapter.setOnItemClickListener { adapter, view, position -> + val list = albumAdapter.data.map { + UserPhoto().apply { + this.photoUrl = it.photoUrl + } + } + showPhotoPreview(ArrayList(list), position) + } + viewModel.userInfoDetailData.observe(this) { + binding.tvAlbumCount.text = "(${it.privatePhoto?.size ?: 0})" + binding.tvAlbumStatus.isVisible = it.privatePhoto.isNullOrEmpty() + albumAdapter.setNewData(it.privatePhoto) + } + } + + private fun initGift() { + var isMiniMode = true + binding.ivGiftMore.setOnClickListener { + isMiniMode = !isMiniMode + val list = viewModel.giftListLiveData.value ?: emptyList() + loadListData(giftAdapter, 4, isMiniMode, list, binding.ivGiftMore) + binding.ivGiftMore.animate().rotationBy(180f).start() + } + binding.recyclerViewGift.addItemDecoration( + GridSpacingItemNewDecoration( + UiUtils.dip2px(10f), + UiUtils.dip2px(2f), + true + ) + ) + binding.recyclerViewGift.adapter = giftAdapter + viewModel.giftListLiveData.observe(this) { + loadListData(giftAdapter, 4, isMiniMode, it, binding.ivGiftMore) + binding.tvGiftStatus.isVisible = it.isNullOrEmpty() + } + viewModel.requestGiftList() + } + + private fun initLuckyGift() { + var isMiniMode = true + binding.ivLuckyGiftMore.setOnClickListener { + isMiniMode = !isMiniMode + val list = viewModel.luckyGiftListLiveData.value ?: emptyList() + loadListData(luckyGiftAdapter, 4, isMiniMode, list, binding.ivLuckyGiftMore) + binding.ivLuckyGiftMore.animate().rotationBy(180f).start() + } + binding.recyclerViewLuckyGift.addItemDecoration( + GridSpacingItemNewDecoration( + UiUtils.dip2px(10f), + UiUtils.dip2px(2f), + false + ) + ) + binding.recyclerViewLuckyGift.adapter = luckyGiftAdapter + viewModel.luckyGiftListLiveData.observe(this) { + loadListData(luckyGiftAdapter, 4, isMiniMode, it, binding.ivLuckyGiftMore) + binding.tvLuckyGiftStatus.isVisible = it.isNullOrEmpty() + } + viewModel.requestLuckyGiftList() + } + + private fun loadListData( + adapter: BaseQuickAdapter, + miniCount: Int, + miniOrFull: Boolean, + list: List, + moreView: View + ) { + val finalList = if (miniOrFull) { + list.take(miniCount) + } else { + list + } + adapter.setNewData(finalList) + moreView.isVisible = list.size > miniCount + } + + private fun showPhotoPreview(list: ArrayList, position: Int) { + val intent = Intent(context, ShowPhotoActivity::class.java) + intent.putExtra("position", position) + intent.putExtra("photoList", list) + context?.startActivity(intent) + } + + private fun onVisibleChanged(isVisible: Boolean, isFirstVisible: Boolean) { + if (isVisible && !isFirstVisible) { + if (viewModel.giftListLiveData.value.isNullOrEmpty()) { + viewModel.requestGiftList() + } + if (viewModel.luckyGiftListLiveData.value.isNullOrEmpty()) { + viewModel.requestLuckyGiftList() + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/user/viewmodel/UserInfoViewModel.kt b/app/src/main/java/com/chwl/app/ui/user/viewmodel/UserInfoViewModel.kt index dc1c1f519..527a8c363 100644 --- a/app/src/main/java/com/chwl/app/ui/user/viewmodel/UserInfoViewModel.kt +++ b/app/src/main/java/com/chwl/app/ui/user/viewmodel/UserInfoViewModel.kt @@ -4,12 +4,15 @@ import android.annotation.SuppressLint import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel +import com.chwl.app.base.BaseViewModel import com.chwl.app.module_hall.HallDataManager +import com.chwl.core.auth.AuthModel import com.chwl.core.module_hall.hall.HallModel import com.chwl.core.module_hall.hall.bean.ClanAndHallInfo import com.chwl.core.module_hall.hall.bean.UserClanInfo import com.chwl.core.user.UserInfoUiMgr import com.chwl.core.user.UserModel +import com.chwl.core.user.bean.GiftWallInfo import com.chwl.core.user.bean.UserDetailInfo import com.chwl.core.user.bean.UserInfo import com.chwl.core.utils.net.BeanObserver @@ -17,13 +20,13 @@ import com.chwl.core.utils.extension.toast import io.reactivex.disposables.CompositeDisposable import io.reactivex.disposables.Disposable -class UserInfoViewModel : ViewModel() { - val userId: Long by lazy { - UserInfoUiMgr.get().uid - } +class UserInfoViewModel : BaseViewModel() { + var userId: Long = 0 var mRoomUid: Long = 0 + val isMe get() = userId == AuthModel.get().currentUid + private val _userInfoData = MutableLiveData() val userInfoData: LiveData = _userInfoData @@ -32,9 +35,8 @@ class UserInfoViewModel : ViewModel() { val userClanData = MutableLiveData() - private val disposable: CompositeDisposable by lazy { - CompositeDisposable() - } + val giftListLiveData = MutableLiveData>() + val luckyGiftListLiveData = MutableLiveData>() fun getUserInfo() { UserModel.get().getUserInfoFromServer(userId) @@ -46,21 +48,30 @@ class UserInfoViewModel : ViewModel() { override fun onSuccess(info: UserInfo) { _userInfoData.value = info } - override fun onSubscribe(d: Disposable) { disposable.add(d) } + + override fun onSubscribe(d: Disposable) { + addDisposable(d) + } }) } fun getUserInfoDetail() { UserModel.get().getUserInfoDetail(userId) .subscribe(object : BeanObserver() { - override fun onErrorMsg(error: String) { error.toast() } + override fun onErrorMsg(error: String) { + error.toast() + } + override fun onSuccess(info: UserDetailInfo) { info.let { mRoomUid = it.data.roomUid _userInfoDetailData.value = it.data } } - override fun onSubscribe(d: Disposable) { disposable.add(d) } + + override fun onSubscribe(d: Disposable) { + addDisposable(d) + } }) } @@ -75,11 +86,18 @@ class UserInfoViewModel : ViewModel() { th.message?.toast() } ) - disposable.add(subscribe) + addDisposable(subscribe) } - override fun onCleared() { - super.onCleared() - disposable.dispose() + fun requestGiftList() { + addDisposable(UserModel.get().requestUserGiftWall(userId, 1, 2).subscribe { it -> + giftListLiveData.postValue(it) + }) + } + + fun requestLuckyGiftList() { + addDisposable(UserModel.get().requestUserGiftWall(userId, 2, 2).subscribe { it -> + luckyGiftListLiveData.postValue(it) + }) } } \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/utils/AppBarStateChangeListener.java b/app/src/main/java/com/chwl/app/utils/AppBarStateChangeListener.java index 0dbe8ea62..a6819bcc5 100644 --- a/app/src/main/java/com/chwl/app/utils/AppBarStateChangeListener.java +++ b/app/src/main/java/com/chwl/app/utils/AppBarStateChangeListener.java @@ -19,7 +19,7 @@ public abstract class AppBarStateChangeListener implements AppBarLayout.OnOffset onStateChanged(appBarLayout, State.EXPANDED); } mCurrentState = State.EXPANDED; - } else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange()) { + } else if (Math.abs(verticalOffset) >= appBarLayout.getTotalScrollRange() * getBias()) { if (mCurrentState != State.COLLAPSED) { onStateChanged(appBarLayout, State.COLLAPSED); } @@ -32,5 +32,9 @@ public abstract class AppBarStateChangeListener implements AppBarLayout.OnOffset } } + protected float getBias() { + return 1f; + } + public abstract void onStateChanged(AppBarLayout appBarLayout, State state); } diff --git a/app/src/main/res/drawable-xxhdpi/user_info_bg_gift.webp b/app/src/main/res/drawable-xxhdpi/user_info_bg_gift.webp new file mode 100644 index 0000000000000000000000000000000000000000..425b99d95d027fe405459d0e7a638d26fc846436 GIT binary patch literal 39538 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/user_info_bg_good_id.9.png b/app/src/main/res/drawable-xxhdpi/user_info_bg_good_id.9.png new file mode 100644 index 0000000000000000000000000000000000000000..6927d67f846f33a35983c830a03827f2211f45b3 GIT binary patch literal 17623 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

MczBC2Ht%waOhc)x5LZvX>)Z_ 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 iKuuC9$Qrn9p1?ejLS_yCYAzNtz`&UOtCKyDL z0spFy0C(*;l5JJF_T6puvHUY25BB8XaxVW8Owv@_ zF(5Gber~J7O7>|F0A=Z?NEf8$gd~5|Z%p?OK&L>WV@QaF7a;va0uUY$^GnCt-;clE zy8pwNCW22pnl!kQG&wd+g|jFG-og%M8N!W52zcuvSf$GU+`4tGy>~19=z3?nlnkD{X}RWhE+>5KI-bpa{k;ef zYuh&M-2dOVZCkOO72CFx{(H#&EkyKRf!j7p#>emrPsMA7$kqC6Z3w_pRWq{z*FKx# zefkt`{W7>8fy2DiuZcBSe*IPYGr0l_VVOFo9$-5t)ir((rzuORt#<^=BX*_V@l7~> z(w&`EAn~cxp4@@+_P2b8%pPntTTY@#Xvns z@exIA8?L!V*JRgj+x+bWgtdTbx)$Yte_DKGDt46#YXLrmWy|z4 zt&S|uB1ZI_Z7t%*#f1ZlB=94Nl4O%&OcGy(yh~eHC=XW&0)f9n%8_By6=a E0NQeoCIA2c literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/user_info_ic_id.webp b/app/src/main/res/drawable-xxhdpi/user_info_ic_id.webp new file mode 100644 index 0000000000000000000000000000000000000000..d5d97dd5d31bcaff35199818b7979fb38953b370 GIT binary patch literal 600 zcmV-e0;l~_Nk&Fc0ssJ4MM6+kP&iCP0ssInAOHvupTs7TBq9C(kl_RW*2uZB;UJPE zMXCk=y3WqsGjx}ONRkvO51!P$e(t|CcNtUTs>r2koZ0-gf?Jf;8;WII7f!YD{W zWRQR`OpQ`Q5TYR&VlR3>2t&#s^SUufzeoT4=YiBPB^rWMB&0#lOAX0LY8aw0!J5ox zFeQB-1ey24Kbd)4NExJtNXjVDF#SjWFeREmQ^F`nB0-dZAq1%*gdqt+V22I%5W;Fm zmjzgUFc|_Y9Xmp}SWf6cM>HD}EHjqWuq;}ZOSwk(v8_=Yy~-MImfL2I#{OSx*8AuA z!LxqHd;I@^Xxp~w=H$ev+o)Dj+cs0%Hg;{>{N(WbK}7#2fQbHH9xspJ|L)1-%P$d; z;`{ahfj+qZRuFxkL-PEaey$*U_4BbOwD)`m0Lx2(!^1Iv?#PHv0E<;-B{K&l<-2CK zy&WF{s8lH{fbC)>d(}Bx*1Q}6KpArxFcr(bnzH6RdGs`DXX^;CJ<*Y4*03gTAz<$P znR+(XiC{LD*)%AE^%Ul`O%Zg3ux&_Y+QGqXGOLBGt(Vy@Wo5a{W)Z7vWfn8o&?qw& z&*3ha1~n(lN^B4Ov$75Xo32FW)OmrWvM43n`{37jG>6qRH8oYIhcdIJb<5K}fLgV( z0$53AAGMD5O?W&y1<(^??gHR4d5deFgxBLc0N7ZA`*2Bic6N3_UGElreE8Ud?B46o mmC)4>y`70%yb&qBo(=+baQ&_zBKrNjx!eiB&gISLFA)LTRUM=N literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/shape_white_top_8dp.xml b/app/src/main/res/drawable/shape_white_top_8dp.xml new file mode 100644 index 000000000..2f66129d7 --- /dev/null +++ b/app/src/main/res/drawable/shape_white_top_8dp.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/user_info_bg_fans_follow.xml b/app/src/main/res/drawable/user_info_bg_fans_follow.xml new file mode 100644 index 000000000..629d77d2a --- /dev/null +++ b/app/src/main/res/drawable/user_info_bg_fans_follow.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/user_info_bg_live.xml b/app/src/main/res/drawable/user_info_bg_live.xml index 25ce5e586..55f6c659a 100644 --- a/app/src/main/res/drawable/user_info_bg_live.xml +++ b/app/src/main/res/drawable/user_info_bg_live.xml @@ -1,7 +1,13 @@ - + - + \ 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 9792ecd1e..58c239314 100644 --- a/app/src/main/res/layout/activity_user_info.xml +++ b/app/src/main/res/layout/activity_user_info.xml @@ -2,6 +2,7 @@ + - + android:clipToPadding="false"> - + tools:background="@drawable/default_banner" /> - - - - - - - - - - + app:layout_constraintTop_toTopOf="@id/banner_view" /> + app:layout_constraintTop_toTopOf="@id/iv_user_head" /> - + app:layout_constraintTop_toTopOf="@id/banner_view" + app:shapeAppearance="@style/shape_circle" + app:strokeColor="@color/white" + app:strokeWidth="@dimen/dp_1" /> + + + + + + + android:textColor="#F7F7F7" + android:textSize="@dimen/dp_12" /> - - - - + + + android:paddingTop="@dimen/dp_2" + android:textColor="@color/color_CC191919" + android:textSize="@dimen/dp_11" + tools:text="7958626" /> - - - - - - - - - - + android:id="@+id/iv_id_copy" + android:layout_width="@dimen/dp_13" + android:layout_height="@dimen/dp_13" + android:layout_marginStart="@dimen/dp_3" + android:src="@drawable/user_info_ic_copy" /> - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/ll_id"> + + + + + + + + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/layout_region"> + + + + + + + + + + + + + + + + + + + @@ -393,28 +476,22 @@ - - - - + android:layout_width="match_parent" + android:layout_height="@dimen/dp_38" + android:paddingStart="@dimen/dp_3" + tools:background="#22000000" /> + app:layout_behavior="@string/appbar_scrolling_view_behavior" + tools:background="#33000000" /> diff --git a/app/src/main/res/layout/banner_userinfo_photo_item.xml b/app/src/main/res/layout/banner_userinfo_photo_item.xml deleted file mode 100644 index d01f04756..000000000 --- a/app/src/main/res/layout/banner_userinfo_photo_item.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - diff --git a/app/src/main/res/layout/user_info_data_fragment.xml b/app/src/main/res/layout/user_info_data_fragment.xml new file mode 100644 index 000000000..60d869254 --- /dev/null +++ b/app/src/main/res/layout/user_info_data_fragment.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/user_info_item_album.xml b/app/src/main/res/layout/user_info_item_album.xml new file mode 100644 index 000000000..57a91cfa9 --- /dev/null +++ b/app/src/main/res/layout/user_info_item_album.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/layout/user_info_item_gift.xml b/app/src/main/res/layout/user_info_item_gift.xml new file mode 100644 index 000000000..7005998f7 --- /dev/null +++ b/app/src/main/res/layout/user_info_item_gift.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/user_info_item_top_album.xml b/app/src/main/res/layout/user_info_item_top_album.xml new file mode 100644 index 000000000..578d49138 --- /dev/null +++ b/app/src/main/res/layout/user_info_item_top_album.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 75464b1f5..3fcce7ab7 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -5301,4 +5301,7 @@ تهانينا على أن تصبح (%s)! تم ارتداء هذا المستوى من الزي تلقائيًا. هل تريد الاحتفاظ بالزي الأصلي ام لا ؟ اهلا بك في غرفتي مؤخرًا + + 塹無照片 + 塹無禮物 \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index b55597eb0..cc2f66c7c 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -5243,4 +5243,6 @@ 恭喜你成為「%s」!當前已自動佩戴該等級裝扮,是否保留原有裝扮? 歡迎來到我的房間 最近 + 塹無照片 + 塹無禮物 \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 1fe2655dc..ca58c59cd 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -737,4 +737,9 @@ #73B8FF #FF396F #FF4B81 + #26CC9C + #191919 + #7F191919 + #CC191919 + #FEFFBF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5b869cd71..dcd411938 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5282,6 +5282,9 @@ You cannot join again within 24 hours after leaving Congratulations on becoming (%s)! This level of uniform was worn automatically. Do you want to wear the original dress or not? Welcome to my room Recent + + 塹無照片 + 塹無禮物 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 588b5aabf..4142be193 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -623,4 +623,9 @@ rounded @dimen/dp_8 + + diff --git a/core/src/main/java/com/chwl/core/decoration/headwear/bean/HeadWearInfo.java b/core/src/main/java/com/chwl/core/decoration/headwear/bean/HeadWearInfo.java index f4d576037..fd2b186a4 100644 --- a/core/src/main/java/com/chwl/core/decoration/headwear/bean/HeadWearInfo.java +++ b/core/src/main/java/com/chwl/core/decoration/headwear/bean/HeadWearInfo.java @@ -113,4 +113,14 @@ public class HeadWearInfo extends BaseDecoration implements Serializable { public boolean isRenew() { return status == HeadWearInfo.STATUS_IN_USED; } + + public String getFirstUrl() { + if (effect != null && effect.length() > 0) { + return effect; + } + if (pic != null && pic.length() > 0) { + return pic; + } + return null; + } }