|
@@ -15,6 +15,7 @@ import com.cooleshow.base.utils.SizeUtils;
|
|
import com.cooleshow.base.utils.TimeUtils;
|
|
import com.cooleshow.base.utils.TimeUtils;
|
|
import com.cooleshow.base.utils.UiUtils;
|
|
import com.cooleshow.base.utils.UiUtils;
|
|
import com.cooleshow.base.utils.Utils;
|
|
import com.cooleshow.base.utils.Utils;
|
|
|
|
+import com.cooleshow.base.utils.helper.WebStartHelper;
|
|
import com.cooleshow.base.widgets.CommonItemDecoration;
|
|
import com.cooleshow.base.widgets.CommonItemDecoration;
|
|
import com.cooleshow.student.R;
|
|
import com.cooleshow.student.R;
|
|
import com.cooleshow.student.adapter.HomeBottomPageAdapter;
|
|
import com.cooleshow.student.adapter.HomeBottomPageAdapter;
|
|
@@ -44,7 +45,9 @@ import com.cooleshow.student.widgets.HomeHotMusicSheetItemDecoration;
|
|
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
|
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
|
import com.youth.banner.Banner;
|
|
import com.youth.banner.Banner;
|
|
import com.youth.banner.adapter.BannerImageAdapter;
|
|
import com.youth.banner.adapter.BannerImageAdapter;
|
|
|
|
+import com.youth.banner.config.IndicatorConfig;
|
|
import com.youth.banner.holder.BannerImageHolder;
|
|
import com.youth.banner.holder.BannerImageHolder;
|
|
|
|
+import com.youth.banner.indicator.RectangleIndicator;
|
|
import com.youth.banner.listener.OnBannerListener;
|
|
import com.youth.banner.listener.OnBannerListener;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -80,6 +83,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
private HomeRecommendTalentAdapter mRecommendTalentAdapter;
|
|
private HomeRecommendTalentAdapter mRecommendTalentAdapter;
|
|
private NewHomeVideoCourseAdapter mHomeVideoCourseAdapter;
|
|
private NewHomeVideoCourseAdapter mHomeVideoCourseAdapter;
|
|
private TalentStyleFragment mTalentStyleFragment;
|
|
private TalentStyleFragment mTalentStyleFragment;
|
|
|
|
+ private HotNewsFragment mHotNewsFragment;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected FragmentNewHomeLayoutBinding getLayoutView() {
|
|
protected FragmentNewHomeLayoutBinding getLayoutView() {
|
|
@@ -101,6 +105,10 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
mViewBinding.ivScan.setOnClickListener(this);
|
|
mViewBinding.ivScan.setOnClickListener(this);
|
|
mViewBinding.imMessage.setOnClickListener(this);
|
|
mViewBinding.imMessage.setOnClickListener(this);
|
|
mViewBinding.flCourseEnter.setOnClickListener(this);
|
|
mViewBinding.flCourseEnter.setOnClickListener(this);
|
|
|
|
+ mViewBinding.tvRecommendTeacherMore.setOnClickListener(this);
|
|
|
|
+ mViewBinding.tvHotAlbumMore.setOnClickListener(this);
|
|
|
|
+ mViewBinding.tvHotTrackMore.setOnClickListener(this);
|
|
|
|
+ mViewBinding.tvVideoCourseMore.setOnClickListener(this);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -148,10 +156,11 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
HomeBottomPageAdapter homeBottomPageAdapter = new HomeBottomPageAdapter(this);
|
|
HomeBottomPageAdapter homeBottomPageAdapter = new HomeBottomPageAdapter(this);
|
|
ArrayList<Fragment> bottomFragments = new ArrayList<>();
|
|
ArrayList<Fragment> bottomFragments = new ArrayList<>();
|
|
mTalentStyleFragment = new TalentStyleFragment();
|
|
mTalentStyleFragment = new TalentStyleFragment();
|
|
- Fragment fragment =new Fragment();
|
|
|
|
|
|
+ mHotNewsFragment = new HotNewsFragment();
|
|
bottomFragments.add(mTalentStyleFragment);
|
|
bottomFragments.add(mTalentStyleFragment);
|
|
- bottomFragments.add(fragment);
|
|
|
|
|
|
+ bottomFragments.add(mHotNewsFragment);
|
|
homeBottomPageAdapter.setFragments(bottomFragments);
|
|
homeBottomPageAdapter.setFragments(bottomFragments);
|
|
|
|
+ mViewBinding.viewPagerBottom.setOffscreenPageLimit(bottomFragments.size());
|
|
mViewBinding.viewPagerBottom.setAdapter(homeBottomPageAdapter);
|
|
mViewBinding.viewPagerBottom.setAdapter(homeBottomPageAdapter);
|
|
|
|
|
|
|
|
|
|
@@ -169,10 +178,10 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
}
|
|
}
|
|
};
|
|
};
|
|
banner.setAdapter(mBannerImageAdapter, true).addBannerLifecycleObserver(this)//添加生命周期观察者
|
|
banner.setAdapter(mBannerImageAdapter, true).addBannerLifecycleObserver(this)//添加生命周期观察者
|
|
- .setIntercept(true) //是否要拦截事件
|
|
|
|
.isAutoLoop(true)
|
|
.isAutoLoop(true)
|
|
- .removeIndicator()
|
|
|
|
-// .setIndicator(new CircleIndicator(getContext())) //圆形指示器 还支持条形指示器等
|
|
|
|
|
|
+ .setIndicatorGravity(IndicatorConfig.Direction.RIGHT)
|
|
|
|
+// .removeIndicator()
|
|
|
|
+ .setIndicator(new RectangleIndicator(getContext())) //圆形指示器 还支持条形指示器等
|
|
.setOnBannerListener(new OnBannerListener() {
|
|
.setOnBannerListener(new OnBannerListener() {
|
|
@Override
|
|
@Override
|
|
public void OnBannerClick(Object data, int position) {
|
|
public void OnBannerClick(Object data, int position) {
|
|
@@ -203,6 +212,7 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
presenter.appHome();
|
|
presenter.appHome();
|
|
presenter.userAccountPage();
|
|
presenter.userAccountPage();
|
|
presenter.getHotMusicSheetList();
|
|
presenter.getHotMusicSheetList();
|
|
|
|
+ presenter.getTalentStyle();
|
|
});
|
|
});
|
|
|
|
|
|
mHomeVideoCourseAdapter.setOnItemClickListener((adapter, view, position) -> {
|
|
mHomeVideoCourseAdapter.setOnItemClickListener((adapter, view, position) -> {
|
|
@@ -301,6 +311,14 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
bindBanner(appHomeBean.banner);
|
|
bindBanner(appHomeBean.banner);
|
|
//后台配置menu
|
|
//后台配置menu
|
|
initMenu(appHomeBean.appMenu);
|
|
initMenu(appHomeBean.appMenu);
|
|
|
|
+ //热门资讯
|
|
|
|
+ bindHotNews(appHomeBean.information);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void bindHotNews(List<AppHomeBean.ItemBean> information) {
|
|
|
|
+ if (mHotNewsFragment != null) {
|
|
|
|
+ mHotNewsFragment.setData(information);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -467,7 +485,22 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
|
|
public void queryCountOfUnreadSuccess(List<CountOfUnreadBean> data) {
|
|
-
|
|
|
|
|
|
+ if (isDetached()) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (null == data || data.size() == 0) {
|
|
|
|
+ mViewBinding.viewUnreadMessage.setVisibility(View.GONE);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int totalCount = 0;
|
|
|
|
+ for (CountOfUnreadBean datum : data) {
|
|
|
|
+ totalCount += datum.value;
|
|
|
|
+ }
|
|
|
|
+ if (totalCount > 0) {
|
|
|
|
+ mViewBinding.viewUnreadMessage.setVisibility(View.VISIBLE);
|
|
|
|
+ } else {
|
|
|
|
+ mViewBinding.viewUnreadMessage.setVisibility(View.GONE);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -550,6 +583,37 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
.navigation();
|
|
.navigation();
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (id == R.id.tv_recommend_teacher_more) {
|
|
|
|
+ //老师风采
|
|
|
|
+ ARouter.getInstance()
|
|
|
|
+ .build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
|
|
+ .withString(WebConstants.WEB_URL, WebConstants.STUDENT_TEACHER_ELEGANT)
|
|
|
|
+ .navigation();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (id == R.id.tv_hot_album_more) {
|
|
|
|
+ //热门专辑
|
|
|
|
+ ARouter.getInstance()
|
|
|
|
+ .build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
|
|
+ .withString(WebConstants.WEB_URL, WebConstants.STUDENT_MUSIC_ALBUM)
|
|
|
|
+ .navigation();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (id == R.id.tv_hot_track_more) {
|
|
|
|
+ //热门曲目更多
|
|
|
|
+ WebStartHelper.startHotMusicSheetList();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (id == R.id.tv_video_course_more) {
|
|
|
|
+ //视频课更多
|
|
|
|
+ ARouter.getInstance()
|
|
|
|
+ .build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
|
|
+ .withString(WebConstants.WEB_URL, WebConstants.STUDENT_VIDEO_CLASS)
|
|
|
|
+ .navigation();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|