|
@@ -60,6 +60,7 @@ import androidx.fragment.app.Fragment;
|
|
|
import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
|
import androidx.viewpager.widget.ViewPager;
|
|
|
+import androidx.viewpager2.widget.ViewPager2;
|
|
|
|
|
|
import static com.cooleshow.student.constants.CourseConstants.LIVE_COURSE;
|
|
|
import static com.cooleshow.student.constants.CourseConstants.OTHER_COURSE;
|
|
@@ -84,6 +85,13 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
private NewHomeVideoCourseAdapter mHomeVideoCourseAdapter;
|
|
|
private TalentStyleFragment mTalentStyleFragment;
|
|
|
private HotNewsFragment mHotNewsFragment;
|
|
|
+ private ViewPager2.OnPageChangeCallback onPageChangeCallback = new ViewPager2.OnPageChangeCallback() {
|
|
|
+ @Override
|
|
|
+ public void onPageSelected(int position) {
|
|
|
+ super.onPageSelected(position);
|
|
|
+ switchTabStyle(position);
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
@Override
|
|
|
protected FragmentNewHomeLayoutBinding getLayoutView() {
|
|
@@ -109,6 +117,8 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
mViewBinding.tvHotAlbumMore.setOnClickListener(this);
|
|
|
mViewBinding.tvHotTrackMore.setOnClickListener(this);
|
|
|
mViewBinding.tvVideoCourseMore.setOnClickListener(this);
|
|
|
+ mViewBinding.viewTalentStyleClick.setOnClickListener(this);
|
|
|
+ mViewBinding.viewHotNewsClick.setOnClickListener(this);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -205,6 +215,8 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
}
|
|
|
|
|
|
private void initListener() {
|
|
|
+ mViewBinding.viewPagerBottom.registerOnPageChangeCallback(onPageChangeCallback);
|
|
|
+
|
|
|
mViewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
|
|
|
refreshLayout.finishRefresh();
|
|
|
presenter.queryCountOfUnread();
|
|
@@ -549,10 +561,10 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
int id = v.getId();
|
|
|
- if (UiUtils.isFastClick()) {
|
|
|
- return;
|
|
|
- }
|
|
|
if (id == R.id.iv_scan) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//二维码扫描
|
|
|
ARouter.getInstance()
|
|
|
.build(RouterPath.BaseCenter.SCAN_QR_CODE)
|
|
@@ -561,18 +573,27 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
}
|
|
|
if (id == R.id.im_message) {
|
|
|
//消息列表页面
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
ARouter.getInstance().build(RouterPath.MessageCenter.TEACHER_MESSAGE_MESSAGEBOX)
|
|
|
.navigation();
|
|
|
return;
|
|
|
}
|
|
|
if (id == R.id.fl_course_enter) {
|
|
|
//进入教室
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (mRecentCourses != null) {
|
|
|
gotoCourseDetail(mRecentCourses);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
if (id == R.id.bg_announcement || id == R.id.bg_announcement2) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (TextUtils.isEmpty(noticeId)) {
|
|
|
return;
|
|
|
}
|
|
@@ -585,6 +606,9 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
}
|
|
|
|
|
|
if (id == R.id.tv_recommend_teacher_more) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//老师风采
|
|
|
ARouter.getInstance()
|
|
|
.build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
@@ -593,6 +617,9 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
return;
|
|
|
}
|
|
|
if (id == R.id.tv_hot_album_more) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//热门专辑
|
|
|
ARouter.getInstance()
|
|
|
.build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
@@ -601,12 +628,18 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
return;
|
|
|
}
|
|
|
if (id == R.id.tv_hot_track_more) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//热门曲目更多
|
|
|
WebStartHelper.startHotMusicSheetList();
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (id == R.id.tv_video_course_more) {
|
|
|
+ if (UiUtils.isFastClick()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
//视频课更多
|
|
|
ARouter.getInstance()
|
|
|
.build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
@@ -614,8 +647,34 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
.navigation();
|
|
|
return;
|
|
|
}
|
|
|
+ if (id == R.id.view_talent_style_click) {
|
|
|
+ //达人风采tab点击
|
|
|
+ mViewBinding.viewPagerBottom.setCurrentItem(0);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (id == R.id.view_hot_news_click) {
|
|
|
+ //热门资讯tab点击
|
|
|
+ mViewBinding.viewPagerBottom.setCurrentItem(1);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 切换tab样式
|
|
|
+ *
|
|
|
+ * @param position
|
|
|
+ */
|
|
|
+ private void switchTabStyle(int position) {
|
|
|
+ //view_talent_style_news
|
|
|
+ boolean isSelectFirst = position == 0;
|
|
|
+ mViewBinding.viewTalentStyleNews.setVisibility(isSelectFirst ? View.VISIBLE : View.GONE);
|
|
|
+ mViewBinding.tvTalentStyleTitle.setTextColor(getResources().getColor(isSelectFirst ? com.cooleshow.base.R.color.color_333333 : com.cooleshow.base.R.color.color_999999));
|
|
|
+ mViewBinding.viewTabHotNews.setVisibility(isSelectFirst ? View.GONE : View.VISIBLE);
|
|
|
+ mViewBinding.tvHotNewsTitle.setTextColor(getResources().getColor(isSelectFirst ? com.cooleshow.base.R.color.color_999999 : com.cooleshow.base.R.color.color_333333));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 跳转直播课详情页面
|
|
|
*
|
|
@@ -645,4 +704,13 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDestroy() {
|
|
|
+ super.onDestroy();
|
|
|
+ if (mViewBinding != null && mViewBinding.viewPagerBottom != null) {
|
|
|
+ mViewBinding.viewPagerBottom.registerOnPageChangeCallback(onPageChangeCallback);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|