diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0f99eadea..5162f5cb5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1269,6 +1269,9 @@ android:name=".shipantics.RadishRankingActivity" android:theme="@style/room_message_activity" /> + + \ No newline at end of file diff --git a/app/src/main/java/com/mango/moshen/MainActivity.java b/app/src/main/java/com/mango/moshen/MainActivity.java index 847765640..cc0d22fe6 100644 --- a/app/src/main/java/com/mango/moshen/MainActivity.java +++ b/app/src/main/java/com/mango/moshen/MainActivity.java @@ -25,7 +25,6 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.ViewModelProvider; -import com.mango.moshen.home.fragment.TempRoomHotFragment; import com.netease.nim.uikit.StatusBarUtil; import com.netease.nim.uikit.common.util.log.LogUtil; import com.netease.nim.uikit.common.util.string.StringUtil; @@ -174,7 +173,7 @@ public class MainActivity extends BaseMvpActivity private Runnable touchRunnable; { - fragmentArray.put(MainTabType.TAB_TYPE_HOME, new TempRoomHotFragment()); + fragmentArray.put(MainTabType.TAB_TYPE_HOME, new HomeFragment()); fragmentArray.put(MainTabType.TAB_TYPE_MSG, new ContactsListFragment()); fragmentArray.put(MainTabType.TAB_TYPE_SQUARE, new SquareFragment()); fragmentArray.put(MainTabType.TAB_TYPE_ME, new MeFragment()); diff --git a/app/src/main/java/com/mango/moshen/home/HomeViewModel.kt b/app/src/main/java/com/mango/moshen/home/HomeViewModel.kt index 9bf1f705e..4cd66d1bd 100644 --- a/app/src/main/java/com/mango/moshen/home/HomeViewModel.kt +++ b/app/src/main/java/com/mango/moshen/home/HomeViewModel.kt @@ -210,7 +210,13 @@ class HomeViewModel : BaseViewModel() { }, block = { val result = HomeModel.getHomeSingleAnchorList() - _singleAnchorHomeLiveData.value = ListResult.success(result, 1) + _singleAnchorHomeLiveData.value = ListResult.success( + if ((result?.size ?: 0) > 4) { + result?.subList(0, 4) + } else { + result + }, 1 + ) } ) } diff --git a/app/src/main/java/com/mango/moshen/home/activity/MoreRoomActivity.kt b/app/src/main/java/com/mango/moshen/home/activity/MoreRoomActivity.kt new file mode 100644 index 000000000..50c9af4d4 --- /dev/null +++ b/app/src/main/java/com/mango/moshen/home/activity/MoreRoomActivity.kt @@ -0,0 +1,42 @@ +package com.mango.moshen.home.activity + +import android.annotation.SuppressLint +import android.content.Context +import android.content.Intent +import com.mango.moshen.R +import com.mango.moshen.base.BaseViewBindingActivity +import com.mango.moshen.databinding.ActivityMoreRoomBinding +import com.mango.moshen.home.fragment.PartyFragment +import com.mango.xchat_android_library.annatation.ActLayoutRes +import com.netease.nim.uikit.StatusBarUtil + +@ActLayoutRes(R.layout.activity_more_room) +class MoreRoomActivity : BaseViewBindingActivity() { + + + companion object { + @JvmStatic + fun start(context: Context) { + val starter = Intent(context, MoreRoomActivity::class.java) + context.startActivity(starter) + } + } + + + @SuppressLint("CheckResult") + override fun init() { + initTitleBar("更多房间") + supportFragmentManager + .beginTransaction() + .replace(R.id.fcv, PartyFragment.newInstance()) + .commitAllowingStateLoss() + } + + override fun needSteepStateBar() = true + + override fun setStatusBar() { + super.setStatusBar() + StatusBarUtil.transparencyBar(this) + StatusBarUtil.StatusBarLightMode(this) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/mango/moshen/home/adapter/HomeSingleAnchorAdapter.kt b/app/src/main/java/com/mango/moshen/home/adapter/HomeSingleAnchorAdapter.kt index 5817c0606..93a9c41c5 100644 --- a/app/src/main/java/com/mango/moshen/home/adapter/HomeSingleAnchorAdapter.kt +++ b/app/src/main/java/com/mango/moshen/home/adapter/HomeSingleAnchorAdapter.kt @@ -23,13 +23,11 @@ class HomeSingleAnchorAdapter : BaseQuickAdapter(R.layout.item_home_single_anchor) { override fun convert(helper: BaseViewHolder, item: HomeRoomInfo) { - helper.setText(R.id.tv_nickname, if (!TextUtils.isEmptyText(item.nick)) item.nick else "") helper.setText( R.id.tv_room_name, if (!TextUtils.isEmptyText(item.title)) item.title else "" ) ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_avatar), item.avatar) - ImageLoadUtilsV2.loadImage(helper.getView(R.id.iv_avatar_big), item.avatar, false, 8) val ivPking = helper.getView(R.id.iv_pking) val ivTag = helper.getView(R.id.iv_tag) ivPking.isVisible = item.isCrossPking @@ -43,10 +41,7 @@ class HomeSingleAnchorAdapter : R.id.iv_gender, if (item.gender == 1) R.drawable.ic_gender_male else R.drawable.ic_gender_female ) - helper.setText( - R.id.tv_topic, - if (!TextUtils.isEmptyText(item.roomDesc)) item.roomDesc else "" - ) + helper.itemView.setOnClickListener { StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_RQZB_ROOM_SUCCESS, "人气主播进入房间成功") diff --git a/app/src/main/java/com/mango/moshen/home/adapter/ImagePagerIndicator.java b/app/src/main/java/com/mango/moshen/home/adapter/ImagePagerIndicator.java new file mode 100644 index 000000000..a0fc23fd0 --- /dev/null +++ b/app/src/main/java/com/mango/moshen/home/adapter/ImagePagerIndicator.java @@ -0,0 +1,161 @@ +package com.mango.moshen.home.adapter; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Canvas; +import android.graphics.RectF; +import android.view.View; +import android.view.animation.Interpolator; +import android.view.animation.LinearInterpolator; + + +import com.mango.moshen.R; +import com.mango.moshen.ui.widget.magicindicator.FragmentContainerHelper; +import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; +import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.model.PositionData; + +import java.util.List; + +/** + * 直线viewpager指示器,带颜色渐变 + * 博客: http://hackware.lucode.net + * Created by hackware on 2016/6/26. + */ +public class ImagePagerIndicator extends View implements IPagerIndicator { + // 控制动画 + private Interpolator mStartInterpolator = new LinearInterpolator(); + private Interpolator mEndInterpolator = new LinearInterpolator(); + + private float mYOffset; // 相对于底部的偏移量,如果你想让直线位于title上方,设置它即可 + private float mLineHeight; + private float mXOffset; + private float mLineWidth; + private float mRoundRadius; + + private List mPositionDataList; + + private RectF mLineRect = new RectF(); + private Bitmap bitmap; + + public ImagePagerIndicator(Context context) { + this(context, R.drawable.ic_home_indicator_top); + } + + public ImagePagerIndicator(Context context, int resId) { + super(context); + init(context, resId); + } + + private void init(Context context, int resId) { + bitmap = BitmapFactory.decodeResource(context.getResources(), resId); + mLineHeight = bitmap.getHeight(); + mLineWidth = bitmap.getWidth(); + } + + @Override + protected void onDraw(Canvas canvas) { + canvas.drawBitmap(bitmap, null, mLineRect, null); + } + + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + if (mPositionDataList == null || mPositionDataList.isEmpty()) { + return; + } + + // 计算锚点位置 + PositionData current = FragmentContainerHelper.getImitativePositionData(mPositionDataList, position); + PositionData next = FragmentContainerHelper.getImitativePositionData(mPositionDataList, position + 1); + + float leftX; + float nextLeftX; + float rightX; + float nextRightX; + leftX = current.mLeft + (current.width() - mLineWidth) / 2; + nextLeftX = next.mLeft + (next.width() - mLineWidth) / 2; + rightX = current.mLeft + (current.width() + mLineWidth) / 2; + nextRightX = next.mLeft + (next.width() + mLineWidth) / 2; + mLineRect.left = leftX + (nextLeftX - leftX) * mStartInterpolator.getInterpolation(positionOffset); + mLineRect.right = rightX + (nextRightX - rightX) * mEndInterpolator.getInterpolation(positionOffset); + mLineRect.top = getHeight() - mLineHeight - mYOffset; + mLineRect.bottom = getHeight() - mYOffset; + + invalidate(); + } + + @Override + public void onPageSelected(int position) { + } + + @Override + public void onPageScrollStateChanged(int state) { + } + + @Override + public void onPositionDataProvide(List dataList) { + mPositionDataList = dataList; + } + + public float getYOffset() { + return mYOffset; + } + + public void setYOffset(float yOffset) { + mYOffset = yOffset; + } + + public float getXOffset() { + return mXOffset; + } + + public void setXOffset(float xOffset) { + mXOffset = xOffset; + } + + public float getLineHeight() { + return mLineHeight; + } + + public void setLineHeight(float lineHeight) { + mLineHeight = lineHeight; + } + + public float getLineWidth() { + return mLineWidth; + } + + public void setLineWidth(float lineWidth) { + mLineWidth = lineWidth; + } + + public float getRoundRadius() { + return mRoundRadius; + } + + public void setRoundRadius(float roundRadius) { + mRoundRadius = roundRadius; + } + + public Interpolator getStartInterpolator() { + return mStartInterpolator; + } + + public void setStartInterpolator(Interpolator startInterpolator) { + mStartInterpolator = startInterpolator; + if (mStartInterpolator == null) { + mStartInterpolator = new LinearInterpolator(); + } + } + + public Interpolator getEndInterpolator() { + return mEndInterpolator; + } + + public void setEndInterpolator(Interpolator endInterpolator) { + mEndInterpolator = endInterpolator; + if (mEndInterpolator == null) { + mEndInterpolator = new LinearInterpolator(); + } + } +} diff --git a/app/src/main/java/com/mango/moshen/home/adapter/MainMagicIndicatorAdapter.java b/app/src/main/java/com/mango/moshen/home/adapter/MainMagicIndicatorAdapter.java index 050f20113..3fe80e750 100644 --- a/app/src/main/java/com/mango/moshen/home/adapter/MainMagicIndicatorAdapter.java +++ b/app/src/main/java/com/mango/moshen/home/adapter/MainMagicIndicatorAdapter.java @@ -20,12 +20,14 @@ import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.indica import java.util.List; public class MainMagicIndicatorAdapter extends CommonNavigatorAdapter { + private final Context mContext; private final List mTitleList; private int textSize = 24; - private float minScale = 0.83f; - private boolean showIndicator =true; + private float minScale = 1f; + private boolean showIndicator = true; + private int resId = R.drawable.ic_home_indicator_top; public MainMagicIndicatorAdapter(Context context, List charSequences ) { this.mContext = context; @@ -41,8 +43,8 @@ public class MainMagicIndicatorAdapter 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_444444)); - scaleTransitionPagerTitleView.setSelectedColor(ContextCompat.getColor(context,R.color.color_333333)); + scaleTransitionPagerTitleView.setNormalColor(0xFF8A8CAB); + scaleTransitionPagerTitleView.setSelectedColor(0xFF3D3D3D); scaleTransitionPagerTitleView.setMinScale(minScale); scaleTransitionPagerTitleView.setTextSize(textSize); int padding = UIUtil.dip2px(context, 5); @@ -61,17 +63,11 @@ public class MainMagicIndicatorAdapter extends CommonNavigatorAdapter { @Override public IPagerIndicator getIndicator(Context context) { if (!showIndicator) return null; - LinePagerIndicator indicator = new LinePagerIndicator(context); - indicator.setMode(LinePagerIndicator.MODE_EXACTLY); - indicator.setLineHeight(UIUtil.dip2px(mContext, 10)); - indicator.setRoundRadius(UIUtil.dip2px(mContext, 10)); - indicator.setLineWidth(UIUtil.dip2px(mContext, 48)); - indicator.setColors(Color.parseColor("#FFFFD15A")); - FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); - lp.gravity = Gravity.END; - lp.bottomMargin = UIUtil.dip2px(mContext, 0); - indicator.setLayoutParams(lp); - return indicator; + return new ImagePagerIndicator(context, resId); + } + + public void setResId(int resId) { + this.resId = resId; } public int getTextSize() { diff --git a/app/src/main/java/com/mango/moshen/home/adapter/PartyMagicIndicatorAdapter.java b/app/src/main/java/com/mango/moshen/home/adapter/PartyMagicIndicatorAdapter.java index 8e8be8cf8..3c50e6edd 100644 --- a/app/src/main/java/com/mango/moshen/home/adapter/PartyMagicIndicatorAdapter.java +++ b/app/src/main/java/com/mango/moshen/home/adapter/PartyMagicIndicatorAdapter.java @@ -1,10 +1,6 @@ package com.mango.moshen.home.adapter; import android.content.Context; -import android.graphics.Color; -import android.view.Gravity; -import android.view.ViewGroup; -import android.widget.FrameLayout; import android.widget.TextView; import androidx.core.content.ContextCompat; @@ -15,7 +11,6 @@ import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil; import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter; import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerIndicator; import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.abs.IPagerTitleView; -import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator; import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.indicators.WrapPagerIndicator; import java.util.List; diff --git a/app/src/main/java/com/mango/moshen/home/adapter/RoomHotAdapter.kt b/app/src/main/java/com/mango/moshen/home/adapter/RoomHotAdapter.kt index 92070f31d..ee41576f3 100644 --- a/app/src/main/java/com/mango/moshen/home/adapter/RoomHotAdapter.kt +++ b/app/src/main/java/com/mango/moshen/home/adapter/RoomHotAdapter.kt @@ -17,8 +17,8 @@ import com.mango.core.utils.TextUtils class RoomHotAdapter : BaseMultiItemQuickAdapter(null) { init { - addItemType(HomeRoomInfo.TYPE_ROOM, R.layout.item_room_hot_temp) - addItemType(HomeRoomInfo.TYPE_BROADCAST, R.layout.item_room_hot_temp) + addItemType(HomeRoomInfo.TYPE_ROOM, R.layout.item_room_hot) + addItemType(HomeRoomInfo.TYPE_BROADCAST, R.layout.item_room_hot) addItemType(HomeRoomInfo.TYPE_BANNER, R.layout.item_room_banner) } @@ -41,7 +41,7 @@ class RoomHotAdapter : BaseMultiItemQuickAdapter(n helper.setVisible(R.id.iv_room_tag, !TextUtils.isEmptyText(item.tagPict)) helper.getView(R.id.iv_room_tag).load(item.tagPict) - /* val avatars: Array = arrayOf( + val avatars: Array = arrayOf( helper.getView(R.id.iv_avatar_0), helper.getView(R.id.iv_avatar_1), helper.getView(R.id.iv_avatar_2), @@ -52,7 +52,7 @@ class RoomHotAdapter : BaseMultiItemQuickAdapter(n val avatarUrl = item.micUsers?.getOrNull(i)?.avatar avatars[i].isGone = avatarUrl.isNullOrBlank() avatars[i].load(avatarUrl) - }*/ + } } else { BannerHelper.setBanner(helper.getView(R.id.roll_view), item.bannerVoList) } diff --git a/app/src/main/java/com/mango/moshen/home/fragment/HomeFragment.kt b/app/src/main/java/com/mango/moshen/home/fragment/HomeFragment.kt index e288489a5..232c3ab2b 100644 --- a/app/src/main/java/com/mango/moshen/home/fragment/HomeFragment.kt +++ b/app/src/main/java/com/mango/moshen/home/fragment/HomeFragment.kt @@ -30,7 +30,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener, private lateinit var mBinding: FragmentHomeBinding override fun onClick(v: View) { when (v.id) { - R.id.iv_search -> { + R.id.tv_search -> { StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页") SearchActivity.start(activity) //为啥触发条件这么恶心 @@ -75,20 +75,20 @@ class HomeFragment : BaseFragment(), View.OnClickListener, val fragmentPos: MutableList = ArrayList() val tagList: MutableList = ArrayList() tagList.add("推荐") - tagList.add("派对") tagList.add("直播") fragmentPos.add(RecommendFragment.newInstance()) - fragmentPos.add(PartyFragment.newInstance()) fragmentPos.add(LiveFragment.newInstance()) val commonNavigator = CommonNavigator(context) commonNavigator.setTitleWrapContent(true) val magicIndicatorAdapter = MainMagicIndicatorAdapter(context, tagList) - magicIndicatorAdapter.textSize = 24 + magicIndicatorAdapter.setResId(R.drawable.ic_home_indicator_top) + magicIndicatorAdapter.textSize = 20 + magicIndicatorAdapter.minScale = 0.9f magicIndicatorAdapter.setOnItemSelectListener(this) commonNavigator.adapter = magicIndicatorAdapter mBinding.magicIndicator.navigator = commonNavigator commonNavigator.titleContainer.showDividers = LinearLayout.SHOW_DIVIDER_MIDDLE - mBinding.viewPager.offscreenPageLimit = 5 + mBinding.viewPager.offscreenPageLimit = 2 mBinding.viewPager.adapter = RoomVPAdapter(childFragmentManager, fragmentPos) ViewPagerHelper.bind(mBinding.magicIndicator, mBinding.viewPager) diff --git a/app/src/main/java/com/mango/moshen/home/fragment/HomeTabHomeFragment.java b/app/src/main/java/com/mango/moshen/home/fragment/HomeTabHomeFragment.java index 6763af3e1..c26ff0dd1 100644 --- a/app/src/main/java/com/mango/moshen/home/fragment/HomeTabHomeFragment.java +++ b/app/src/main/java/com/mango/moshen/home/fragment/HomeTabHomeFragment.java @@ -105,13 +105,11 @@ public class HomeTabHomeFragment extends BaseFragment { } private void initRecyclerView() { - recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); + recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false)); recyclerView.setItemAnimator(null); mHomeRoomAdapter = new HomeRoomFragmentAdapter(getContext()); mHomeRoomAdapter.setEnableLoadMore(false); - GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), ROWS); mHomeRoomAdapter.setEnableLoadMore(false); - recyclerView.setLayoutManager(gridLayoutManager); recyclerView.setAdapter(mHomeRoomAdapter); View emptyView = getLayoutInflater().inflate(R.layout.layout_home_room_empty, null); diff --git a/app/src/main/java/com/mango/moshen/home/fragment/LiveFragment.kt b/app/src/main/java/com/mango/moshen/home/fragment/LiveFragment.kt index 885a77e6d..995e0a0d7 100644 --- a/app/src/main/java/com/mango/moshen/home/fragment/LiveFragment.kt +++ b/app/src/main/java/com/mango/moshen/home/fragment/LiveFragment.kt @@ -17,7 +17,6 @@ import com.mango.moshen.base.BaseViewBindingFragment import com.mango.moshen.databinding.FragmentLiveBinding import com.mango.moshen.home.HomeViewModel import com.mango.moshen.home.adapter.HomeLiveTopAdapter -import com.mango.moshen.home.adapter.MainMagicIndicatorAdapter import com.mango.moshen.home.adapter.PartyMagicIndicatorAdapter import com.mango.moshen.ui.utils.RVDelegate import com.mango.moshen.ui.widget.magicindicator.ViewPagerHelper @@ -36,7 +35,6 @@ import org.greenrobot.eventbus.ThreadMode * 魔力首页 */ class LiveFragment : BaseViewBindingFragment(), - MainMagicIndicatorAdapter.OnItemSelectListener, PartyMagicIndicatorAdapter.OnItemSelectListener { private val mFragments: ArrayList = ArrayList() diff --git a/app/src/main/java/com/mango/moshen/home/fragment/RecommendFragment.kt b/app/src/main/java/com/mango/moshen/home/fragment/RecommendFragment.kt index 4c37d1e67..3f4c51e53 100644 --- a/app/src/main/java/com/mango/moshen/home/fragment/RecommendFragment.kt +++ b/app/src/main/java/com/mango/moshen/home/fragment/RecommendFragment.kt @@ -9,6 +9,7 @@ import androidx.core.view.isGone import androidx.databinding.DataBindingUtil import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import com.scwang.smartrefresh.layout.internal.ProgressDrawable import com.mango.moshen.R @@ -30,6 +31,7 @@ import com.mango.core.home.event.RefreshHomeDataEvent import com.mango.core.initial.InitialModel import com.mango.core.statistic.StatisticManager import com.mango.core.statistic.protocol.StatisticsProtocol +import com.mango.moshen.home.activity.MoreRoomActivity import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -102,7 +104,6 @@ class RecommendFragment : BaseFragment(), ) for (i in resourceViews.indices) { - resourceViews[i].load(it[i].icon) resourceViews[i].setOnClickListener { _ -> currMatchClick = abcArray[i] StatisticManager.Instance().onEvent( @@ -137,7 +138,7 @@ class RecommendFragment : BaseFragment(), } mBinding.tvMore.setOnClickListener { - (parentFragment as HomeFragment).onItemSelect(1, null) + MoreRoomActivity.start(mContext) StatisticManager.Instance() .onEvent(StatisticsProtocol.EVENT_ZXTJ_ROOM_MORE_CLICK, "最新推荐更多点击") } @@ -161,7 +162,7 @@ class RecommendFragment : BaseFragment(), private fun initTitleTab() { val tagList = InitialModel.get().cacheInitInfo?.homeTabList.let { - if (it?.size == 2) it else arrayListOf( "热门房间","组队开黑") + if (it?.size == 2) it else arrayListOf("热门房间", "组队开黑") } mFragmentsBottom.add(HomePlayFragment.newInstance()) mFragmentsBottom.add(RoomHotFragment.newInstance()) @@ -171,7 +172,9 @@ class RecommendFragment : BaseFragment(), val commonNavigator = CommonNavigator(context) commonNavigator.setTitleWrapContent(true) val magicIndicatorAdapter = MainMagicIndicatorAdapter(context, tagList) - magicIndicatorAdapter.textSize = 16 + magicIndicatorAdapter.setResId(R.drawable.ic_home_indicator_center) + magicIndicatorAdapter.textSize = 15 + magicIndicatorAdapter.minScale = 1f magicIndicatorAdapter.setOnItemSelectListener(this) commonNavigator.adapter = magicIndicatorAdapter mBinding.magicIndicator.navigator = commonNavigator @@ -186,7 +189,7 @@ class RecommendFragment : BaseFragment(), singleAnchorAdapter = HomeSingleAnchorAdapter() mBinding.rvSingleAnchor.adapter = singleAnchorAdapter val layoutManager = - LinearLayoutManager(requireContext(), LinearLayoutManager.HORIZONTAL, false) + GridLayoutManager(requireContext(),4, LinearLayoutManager.VERTICAL, false) mBinding.rvSingleAnchor.layoutManager = layoutManager homeViewModel.singleAnchorHomeLiveData.observe(this) { if (it.data.isNullOrEmpty()) { diff --git a/app/src/main/java/com/mango/moshen/home/fragment/TempRoomHotFragment.kt b/app/src/main/java/com/mango/moshen/home/fragment/TempRoomHotFragment.kt deleted file mode 100644 index e6f99037a..000000000 --- a/app/src/main/java/com/mango/moshen/home/fragment/TempRoomHotFragment.kt +++ /dev/null @@ -1,93 +0,0 @@ -package com.mango.moshen.home.fragment - -import android.os.Bundle -import androidx.fragment.app.activityViewModels -import androidx.recyclerview.widget.LinearLayoutManager -import com.mango.core.DemoCache -import com.mango.moshen.base.BaseViewBindingFragment -import com.mango.moshen.common.EmptyViewHelper -import com.mango.moshen.databinding.FragmentRoomHotBinding -import com.mango.moshen.home.HomeViewModel -import com.mango.moshen.home.adapter.RoomHotAdapter -import com.mango.moshen.ui.utils.RVDelegate -import com.mango.core.home.bean.HomeRoomInfo -import com.mango.core.home.event.RefreshHomeDataEvent -import com.mango.core.statistic.StatisticManager -import com.mango.core.statistic.protocol.StatisticsProtocol -import com.mango.moshen.ui.search.SearchActivity -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode - - -class TempRoomHotFragment : BaseViewBindingFragment() { - - companion object { - fun newInstance(): TempRoomHotFragment { - val args = Bundle() - val fragment = TempRoomHotFragment() - fragment.arguments = args - return fragment - } - } - - private lateinit var roomHotAdapter : RoomHotAdapter - private lateinit var rvDelegate: RVDelegate - - private var page = 1 - private val pageSize = Int.MAX_VALUE - private val homeViewModel: HomeViewModel by activityViewModels() - - override fun init() { - - roomHotAdapter = RoomHotAdapter() - rvDelegate = RVDelegate.Builder() - .setAdapter(roomHotAdapter) - .setRecyclerView(binding.recyclerView) - .setEmptyView(EmptyViewHelper.createEmptyView(context, "暂无房间")) - .setLayoutManager(LinearLayoutManager(mContext)) - .setRefreshLayout(binding.swipeRefresh) - .setPageSize(pageSize) - .build() - - binding.swipeRefresh.isRefreshing = true - binding.swipeRefresh.setOnRefreshListener { - loadData(true) - } - homeViewModel.hotRoomLiveData.observe(this) { - rvDelegate.loadData(it) - } - binding.tvSearch.setOnClickListener { - StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH, "进入搜索页") - SearchActivity.start(activity) - //为啥触发条件这么恶心 - if (DemoCache.readAnchorCardView() == 0) { - DemoCache.saveAnchorCardView(1) - } - } - } - - override fun onResume() { - super.onResume() - loadData(true) - } - - private fun loadData(isRefresh: Boolean) { - homeViewModel.getHotRoom(page, pageSize) - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - EventBus.getDefault().register(this) - } - - override fun onDestroy() { - super.onDestroy() - EventBus.getDefault().unregister(this) - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onRefreshHomeDataEvent(event: RefreshHomeDataEvent?) { - if (isResumed) loadData(true) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/buildins/commonnavigator/indicators/WrapPagerIndicator.java b/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/buildins/commonnavigator/indicators/WrapPagerIndicator.java index 49a30b246..96499f833 100644 --- a/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/buildins/commonnavigator/indicators/WrapPagerIndicator.java +++ b/app/src/main/java/com/mango/moshen/ui/widget/magicindicator/buildins/commonnavigator/indicators/WrapPagerIndicator.java @@ -24,7 +24,7 @@ import java.util.List; * Created by hackware on 2016/6/26. */ public class WrapPagerIndicator extends View implements IPagerIndicator { - private final int[] mGradientColors = {0xFFFFCB47, 0xFFFFA936}; + private final int[] mGradientColors = {0xFF5BC8F8, 0xFF66D9D9}; //渐变位置 private final float[] mGradientPosition = new float[]{0, 1}; private int mVerticalPadding; diff --git a/app/src/main/res/drawable-xhdpi/ic_home_indicator_center.png b/app/src/main/res/drawable-xhdpi/ic_home_indicator_center.png new file mode 100644 index 000000000..35898e7f2 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_home_indicator_center.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_home_indicator_top.png b/app/src/main/res/drawable-xhdpi/ic_home_indicator_top.png new file mode 100644 index 000000000..a15544011 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_home_indicator_top.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_home_my_room.png b/app/src/main/res/drawable-xhdpi/ic_home_my_room.png index 8a4064360..ee3c5513c 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_home_my_room.png and b/app/src/main/res/drawable-xhdpi/ic_home_my_room.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_home_online_tag.png b/app/src/main/res/drawable-xhdpi/ic_home_online_tag.png index 8e6fa4cc3..603321049 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_home_online_tag.png and b/app/src/main/res/drawable-xhdpi/ic_home_online_tag.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_home_rank.png b/app/src/main/res/drawable-xhdpi/ic_home_rank.png index dd43ca722..d1fce4046 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_home_rank.png and b/app/src/main/res/drawable-xhdpi/ic_home_rank.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_resource_0.png b/app/src/main/res/drawable-xhdpi/ic_resource_0.png index 249bd905e..936699fa3 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_resource_0.png and b/app/src/main/res/drawable-xhdpi/ic_resource_0.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_resource_1.png b/app/src/main/res/drawable-xhdpi/ic_resource_1.png index 8d81c3f00..93010932c 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_resource_1.png and b/app/src/main/res/drawable-xhdpi/ic_resource_1.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_resource_2.png b/app/src/main/res/drawable-xhdpi/ic_resource_2.png index 11c91d051..37f935c42 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_resource_2.png and b/app/src/main/res/drawable-xhdpi/ic_resource_2.png differ diff --git a/app/src/main/res/drawable/shape_room_hot_bg.xml b/app/src/main/res/drawable/shape_room_hot_bg.xml new file mode 100644 index 000000000..a6612f428 --- /dev/null +++ b/app/src/main/res/drawable/shape_room_hot_bg.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/app/src/main/res/drawable/shape_room_hot_tag_bg.xml b/app/src/main/res/drawable/shape_room_hot_tag_bg.xml new file mode 100644 index 000000000..060e58ade --- /dev/null +++ b/app/src/main/res/drawable/shape_room_hot_tag_bg.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/app/src/main/res/drawable/shape_room_single_bg.xml b/app/src/main/res/drawable/shape_room_single_bg.xml new file mode 100644 index 000000000..859228493 --- /dev/null +++ b/app/src/main/res/drawable/shape_room_single_bg.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/shape_room_title_bg.xml b/app/src/main/res/drawable/shape_room_title_bg.xml new file mode 100644 index 000000000..f328dec46 --- /dev/null +++ b/app/src/main/res/drawable/shape_room_title_bg.xml @@ -0,0 +1,13 @@ + + + + + diff --git a/app/src/main/res/layout/activity_more_room.xml b/app/src/main/res/layout/activity_more_room.xml new file mode 100644 index 000000000..6470e3e1d --- /dev/null +++ b/app/src/main/res/layout/activity_more_room.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 3a18cc397..9b879f114 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -18,9 +18,14 @@ android:background="#FFF4F4FA"> + android:id="@+id/view_bg" + android:layout_width="0dp" + android:layout_height="0dp" + android:background="@drawable/bg_me_page" + app:layout_constraintDimensionRatio="750:1334" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + + android:src="@drawable/ic_home_rank" /> - diff --git a/app/src/main/res/layout/fragment_recommend.xml b/app/src/main/res/layout/fragment_recommend.xml index 7e6f0c8a0..cdb696726 100644 --- a/app/src/main/res/layout/fragment_recommend.xml +++ b/app/src/main/res/layout/fragment_recommend.xml @@ -79,63 +79,47 @@ android:layout_marginEnd="15dp" android:orientation="horizontal"> - - - - - - - + android:layout_height="match_parent" + android:layout_weight="1" + android:scaleType="centerCrop" + android:src="@drawable/ic_resource_0" /> - - + android:src="@drawable/ic_resource_1" /> + android:src="@drawable/ic_resource_2" /> + android:layout_marginTop="16dp"> @@ -162,8 +146,8 @@ android:id="@+id/fg_recommend_room" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="@dimen/dp_5" - android:paddingBottom="@dimen/dp_5" + android:paddingTop="@dimen/dp_8" + android:paddingBottom="@dimen/dp_8" android:visibility="visible" tools:visibility="visible" /> @@ -172,7 +156,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="15dp" - android:paddingTop="5dp" + android:paddingTop="8dp" android:visibility="gone" tools:visibility="visible"> @@ -193,8 +177,8 @@ android:drawableRight="@drawable/arrow_right" android:drawablePadding="@dimen/dp_3" android:text="更多" - android:textColor="@color/color_666666" - android:textSize="10sp" /> + android:textColor="#8A8CAB" + android:textSize="12sp" /> @@ -202,11 +186,14 @@ android:id="@+id/rv_single_anchor" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="12dp" + android:layout_marginTop="@dimen/dp_12" + android:layout_marginEnd="12dp" + android:layout_marginBottom="@dimen/dp_8" + android:background="@drawable/shape_room_single_bg" android:overScrollMode="never" android:paddingStart="5dp" - android:paddingTop="@dimen/dp_10" android:paddingEnd="5dp" - android:paddingBottom="@dimen/dp_10" android:scrollbars="none" android:visibility="gone" tools:visibility="visible" /> @@ -219,6 +206,7 @@ android:id="@+id/fl_indicator" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginTop="8dp" android:paddingBottom="5dp"> - - - - - - - + android:layout_marginTop="5dp"> + android:layout_marginBottom="12dp" + android:orientation="vertical" + tools:layout_width="80dp"> - - - - - - - - + android:textColor="#3D3D3D" + android:textSize="@dimen/sp_12" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/iv_avatar" + tools:text="房间名称" /> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + tools:src="@drawable/tag_101" + tools:visibility="visible" /> - - diff --git a/app/src/main/res/layout/item_home_tab_map.xml b/app/src/main/res/layout/item_home_tab_map.xml index 75178cc5c..0d70b7ba0 100644 --- a/app/src/main/res/layout/item_home_tab_map.xml +++ b/app/src/main/res/layout/item_home_tab_map.xml @@ -3,27 +3,17 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/ll_container" - android:layout_width="match_parent" + android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" - android:layout_marginTop="2dp" - tools:layout_width="120dp"> - - + android:layout_marginStart="4dp" + android:layout_marginEnd="4dp" + tools:layout_width="100dp"> @@ -33,16 +23,16 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/default_cover" - app:riv_corner_radius_bottom_left="0dp" - app:riv_corner_radius_bottom_right="0dp" - app:riv_corner_radius_top_left="8dp" - app:riv_corner_radius_top_right="8dp" /> + app:riv_corner_radius_bottom_left="12dp" + app:riv_corner_radius_bottom_right="12dp" + app:riv_corner_radius_top_left="12dp" + app:riv_corner_radius_top_right="12dp" /> + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_room_hot.xml b/app/src/main/res/layout/item_room_hot.xml index 8b9f067b4..e06b60ce2 100644 --- a/app/src/main/res/layout/item_room_hot.xml +++ b/app/src/main/res/layout/item_room_hot.xml @@ -4,39 +4,30 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="15dp" - android:layout_marginTop="5dp" - android:layout_marginEnd="10dp"> + android:layout_marginStart="12dp" + android:layout_marginTop="6dp" + android:layout_marginEnd="12dp" + android:layout_marginBottom="6dp"> - - - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> @@ -75,10 +66,10 @@ android:id="@+id/iv_room_tag" android:layout_width="wrap_content" android:layout_height="14dp" - android:layout_marginTop="11dp" - app:layout_constraintBottom_toBottomOf="parent" + android:layout_marginTop="3dp" + app:layout_constraintBottom_toBottomOf="@id/iv_room_image" app:layout_constraintStart_toStartOf="@id/tv_room_title" - app:layout_constraintTop_toBottomOf="@id/tv_room_title" + app:layout_constraintTop_toBottomOf="@id/tv_id" tools:src="@drawable/tag_101" tools:text="聊天" /> @@ -86,25 +77,28 @@ android:id="@+id/tv_id" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="6dp" - android:textColor="#66333333" + android:layout_marginTop="3dp" + android:textColor="#8A8CAB" android:textSize="12sp" - app:layout_constraintBottom_toBottomOf="@id/iv_room_tag" - app:layout_constraintStart_toEndOf="@id/iv_room_tag" + app:layout_constraintBottom_toTopOf="@id/iv_room_tag" + app:layout_constraintStart_toStartOf="@id/tv_room_title" + app:layout_constraintTop_toBottomOf="@id/tv_room_title" tools:text="ID:1234" /> @@ -113,51 +107,51 @@ android:id="@+id/fl_avatar" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginEnd="17dp" - android:layout_marginBottom="20dp" + android:layout_marginEnd="12dp" + android:layout_marginBottom="12dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent"> diff --git a/app/src/main/res/layout/item_room_hot_temp.xml b/app/src/main/res/layout/item_room_hot_temp.xml deleted file mode 100644 index 2c7f3ff1d..000000000 --- a/app/src/main/res/layout/item_room_hot_temp.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/module_community/res/layout/fragment_home_play.xml b/app/src/module_community/res/layout/fragment_home_play.xml index 8f6a10743..0ff7ca327 100644 --- a/app/src/module_community/res/layout/fragment_home_play.xml +++ b/app/src/module_community/res/layout/fragment_home_play.xml @@ -4,5 +4,5 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" - android:paddingTop="2dp" /> + android:paddingTop="6dp" /> diff --git a/tmpmob/ShareSDK/assets/ShareSDK.xml b/tmpmob/ShareSDK/assets/ShareSDK.xml index a5432e8bb..edbac8c4d 100644 --- a/tmpmob/ShareSDK/assets/ShareSDK.xml +++ b/tmpmob/ShareSDK/assets/ShareSDK.xml @@ -3,7 +3,7 @@ - + @@ -18,7 +18,7 @@ - +