瀏覽代碼

修改学生端我的课程页面pad适配

Pq 1 年之前
父節點
當前提交
5f13bb2c1a

+ 12 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/UiUtils.java

@@ -397,4 +397,16 @@ public class UiUtils {
         drawableRight = isShow ? selectDrawable : R.drawable.icon_arrow_down3;
         textView.setCompoundDrawablesWithIntrinsicBounds(0, 0, drawableRight, 0);
     }
+
+    public static void refreshFilterTextStyle2(boolean isShow, TextView textView) {
+        if (textView == null) {
+            return;
+        }
+        int mainColor = StyleConfig.getMainColor();
+        textView.setTextColor(textView.getContext().getResources().getColor(isShow ? mainColor : R.color.color_333333));
+        int drawableRight = 0;
+        int selectDrawable = R.drawable.icon_arrow_top_green;
+        drawableRight = isShow ? selectDrawable : R.drawable.icon_arrow_down;
+        textView.setCompoundDrawablesWithIntrinsicBounds(0, 0, drawableRight, 0);
+    }
 }

+ 4 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/poplist/PopupListWindow.java

@@ -75,6 +75,10 @@ public class PopupListWindow {
         }
     }
 
+    public PopupWindow getPopupWindow() {
+        return mPopupWindow;
+    }
+
     public interface PopupListListener {
         void onPopupListClick(int position);
     }

二進制
BaseLibrary/src/main/res/drawable-xhdpi/icon_arrow_down.png


二進制
BaseLibrary/src/main/res/drawable-xhdpi/icon_arrow_top_green.png


二進制
BaseLibrary/src/main/res/drawable-xxhdpi/icon_arrow_down.png


二進制
BaseLibrary/src/main/res/drawable-xxhdpi/icon_arrow_top_green.png


+ 30 - 13
student/src/main/java/com/cooleshow/student/ui/course/LiveCourseFragment.java

@@ -17,6 +17,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
 import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
+import com.bigkoo.pickerview.listener.OnDismissListener;
 import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
 import com.bigkoo.pickerview.view.OptionsPickerView;
 import com.bigkoo.pickerview.view.TimePickerView;
@@ -31,6 +32,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
@@ -155,7 +157,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             LiveCourseListBean.RowsBean item = (LiveCourseListBean.RowsBean) adapter.getItem(position);
             ARouter.getInstance()
                     .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                    .withString(WebConstants.WEB_URL,String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGoupId, item.courseId))
+                    .withString(WebConstants.WEB_URL, String.format(WebConstants.TEACHER_LIVE_DETAIL_NORMAL_COURSE, item.courseGoupId, item.courseId))
                     .navigation();
         });
 
@@ -251,27 +253,35 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentCourseFilterStatus);
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, v -> {
-                //自定义布局中的控件初始化及事件处理
-                final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
-                TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
-                tvSubmit.setOnClickListener(v12 -> {
-                    pvTime.returnData();
-                    pvTime.dismiss();
-                });
-                ivCancel.setOnClickListener(v1 -> pvTime.dismiss());
-
-            }).setLineSpacingMultiplier(2.5f)
+                        //自定义布局中的控件初始化及事件处理
+                        final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
+                        TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
+                        tvSubmit.setOnClickListener(v12 -> {
+                            pvTime.returnData();
+                            pvTime.dismiss();
+                        });
+                        ivCancel.setOnClickListener(v1 -> pvTime.dismiss());
+
+                    }).setLineSpacingMultiplier(2.5f)
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
                     .setTextColorCenter(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a))//设置选中项的颜色
                     .isDialog(false)//是否显示为对话框样式
                     .setLabel("年", "月", "", "", "", "")
                     .build();
+
+            pvTime.setOnDismissListener(new OnDismissListener() {
+                @Override
+                public void onDismiss(Object o) {
+                    UiUtils.refreshFilterTextStyle2(false, mViewBinding.tvTime);
+                }
+            });
         }
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(currentSelectDate);
         pvTime.setDate(calendar);
         if (!pvTime.isShowing()) {
             pvTime.show();
+            UiUtils.refreshFilterTextStyle2(true, mViewBinding.tvTime);
         }
     }
 
@@ -310,7 +320,7 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
                 popMenuBean.setActionName(bean.name);
                 popList.add(popMenuBean);
             }
-            initCoursePop(mViewBinding.tvCourseStatus, popList, position -> {
+            initCoursePop(mViewBinding.tvAgency, popList, position -> {
                 QuerySubjectBean bean = subjectBeanList.get(position);
                 currentSubjectId = bean.id;
                 mViewBinding.tvAgency.setText(bean.name);
@@ -321,9 +331,16 @@ public class LiveCourseFragment extends BaseMVPFragment<FragmentLiveCourseLayout
     }
 
 
-    private void initCoursePop(View targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
+    private void initCoursePop(TextView targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
         PopupListWindow popWindow = new PopupListWindow(getContext());
         popWindow.showListPop(targetView, popList, position -> listener.onPopupListClick(position));
+        UiUtils.refreshFilterTextStyle2(true, targetView);
+        popWindow.getPopupWindow().setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                UiUtils.refreshFilterTextStyle2(false, targetView);
+            }
+        });
     }
 
     public void querySubjectItemSuccess(List<QuerySubjectBean> data) {

+ 29 - 12
student/src/main/java/com/cooleshow/student/ui/course/MinePracticeCourseFragment.java

@@ -15,6 +15,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
 import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
+import com.bigkoo.pickerview.listener.OnDismissListener;
 import com.bigkoo.pickerview.listener.OnOptionsSelectListener;
 import com.bigkoo.pickerview.view.OptionsPickerView;
 import com.bigkoo.pickerview.view.TimePickerView;
@@ -28,6 +29,7 @@ import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.PopupUtil;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
@@ -106,7 +108,7 @@ public class MinePracticeCourseFragment extends BaseMVPFragment<FragmentPractice
                 popMenuBean.setActionName(bean.name);
                 popList.add(popMenuBean);
             }
-            initCoursePop(mViewBinding.tvCourseStatus, popList, position -> {
+            initCoursePop(mViewBinding.tvAgency, popList, position -> {
                 QuerySubjectBean bean = subjectBeanList.get(position);
                 currentSubjectId = bean.id;
                 mViewBinding.tvAgency.setText(bean.name);
@@ -299,33 +301,48 @@ public class MinePracticeCourseFragment extends BaseMVPFragment<FragmentPractice
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentCourseFilterStatus);
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, v -> {
-                //自定义布局中的控件初始化及事件处理
-                final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
-                TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
-                tvSubmit.setOnClickListener(v12 -> {
-                    pvTime.returnData();
-                    pvTime.dismiss();
-                });
-                ivCancel.setOnClickListener(v1 -> pvTime.dismiss());
-
-            }).setLineSpacingMultiplier(2.5f)
+                        //自定义布局中的控件初始化及事件处理
+                        final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
+                        TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
+                        tvSubmit.setOnClickListener(v12 -> {
+                            pvTime.returnData();
+                            pvTime.dismiss();
+                        });
+                        ivCancel.setOnClickListener(v1 -> pvTime.dismiss());
+
+                    }).setLineSpacingMultiplier(2.5f)
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
                     .setTextColorCenter(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a))//设置选中项的颜色
                     .isDialog(false)//是否显示为对话框样式
                     .setLabel("年", "月", "", "", "", "")
                     .build();
+
+            pvTime.setOnDismissListener(new OnDismissListener() {
+                @Override
+                public void onDismiss(Object o) {
+                    UiUtils.refreshFilterTextStyle2(false, mViewBinding.tvTime);
+                }
+            });
         }
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(currentSelectDate);
         pvTime.setDate(calendar);
         if (!pvTime.isShowing()) {
             pvTime.show();
+            UiUtils.refreshFilterTextStyle2(true, mViewBinding.tvTime);
         }
     }
 
-    private void initCoursePop(View targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
+    private void initCoursePop(TextView targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
         PopupListWindow popWindow = new PopupListWindow(getContext());
         popWindow.showListPop(targetView, popList, position -> listener.onPopupListClick(position));
+        UiUtils.refreshFilterTextStyle2(true, targetView);
+        popWindow.getPopupWindow().setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                UiUtils.refreshFilterTextStyle2(false, targetView);
+            }
+        });
     }
 
     private OptionsPickerView pvOptions;

+ 29 - 11
student/src/main/java/com/cooleshow/student/ui/course/PianoRoomCourseFragment.java

@@ -2,11 +2,13 @@ package com.cooleshow.student.ui.course;
 
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.PopupWindow;
 import android.widget.TextView;
 
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.TimePickerBuilder;
 import com.bigkoo.pickerview.listener.CustomListener;
+import com.bigkoo.pickerview.listener.OnDismissListener;
 import com.bigkoo.pickerview.view.TimePickerView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemChildClickListener;
@@ -15,6 +17,7 @@ import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
 import com.cooleshow.base.widgets.poplist.PopupListWindow;
@@ -82,7 +85,7 @@ public class PianoRoomCourseFragment extends BaseMVPFragment<FragmentPianoRoomCo
     @Override
     public void onResume() {
         super.onResume();
-        if(isFirstLoad){
+        if (isFirstLoad) {
             isFirstLoad = false;
             reBuildFilter(null, CourseConstants.COURSE_FILTER_ALL);
         }
@@ -233,28 +236,36 @@ public class PianoRoomCourseFragment extends BaseMVPFragment<FragmentPianoRoomCo
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentCourseFilterStatus);
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, v -> {
-                //自定义布局中的控件初始化及事件处理
-                final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
-                TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
-                tvSubmit.setOnClickListener(v1 -> {
-                    pvTime.returnData();
-                    pvTime.dismiss();
-                });
-                ivCancel.setOnClickListener(v12 -> pvTime.dismiss());
+                        //自定义布局中的控件初始化及事件处理
+                        final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
+                        TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
+                        tvSubmit.setOnClickListener(v1 -> {
+                            pvTime.returnData();
+                            pvTime.dismiss();
+                        });
+                        ivCancel.setOnClickListener(v12 -> pvTime.dismiss());
 
-            })
+                    })
                     .setLineSpacingMultiplier(2.5f)
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
                     .setTextColorCenter(getResources().getColor(com.cooleshow.base.R.color.color_1a1a1a))//设置选中项的颜色
                     .isDialog(false)//是否显示为对话框样式
                     .setLabel("年", "月", "", "", "", "")
                     .build();
+
+            pvTime.setOnDismissListener(new OnDismissListener() {
+                @Override
+                public void onDismiss(Object o) {
+                    UiUtils.refreshFilterTextStyle2(false, mViewBinding.tvTime);
+                }
+            });
         }
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(currentSelectDate);
         pvTime.setDate(calendar);
         if (!pvTime.isShowing()) {
             pvTime.show();
+            UiUtils.refreshFilterTextStyle2(true, mViewBinding.tvTime);
         }
     }
 
@@ -302,9 +313,16 @@ public class PianoRoomCourseFragment extends BaseMVPFragment<FragmentPianoRoomCo
         }
     }
 
-    private void initCoursePop(View targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
+    private void initCoursePop(TextView targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
         PopupListWindow popWindow = new PopupListWindow(getContext());
         popWindow.showListPop(targetView, popList, position -> listener.onPopupListClick(position));
+        UiUtils.refreshFilterTextStyle2(true, targetView);
+        popWindow.getPopupWindow().setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                UiUtils.refreshFilterTextStyle2(false, targetView);
+            }
+        });
     }
 
     public void querySubjectItemSuccess(List<QuerySubjectBean> data) {

+ 10 - 1
student/src/main/java/com/cooleshow/student/ui/course/VideoCourseFragment.java

@@ -22,6 +22,7 @@ import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.SizeUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.utils.helper.QMUIDeviceHelper;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.base.widgets.poplist.PopMenuBean;
@@ -257,9 +258,17 @@ public class VideoCourseFragment extends BaseMVPFragment<FragmentVideoCourseLayo
         }
     }
 
-    private void initCoursePop(View targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
+    private void initCoursePop(TextView targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
         PopupListWindow popWindow = new PopupListWindow(getContext());
         popWindow.showListPop(targetView, popList, position -> listener.onPopupListClick(position));
+        UiUtils.refreshFilterTextStyle2(true, targetView);
+        popWindow.getPopupWindow().setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                UiUtils.refreshFilterTextStyle2(false, targetView);
+            }
+        });
+
     }
 
     private void selectSubject() {

二進制
student/src/main/res/drawable-xhdpi/icon_arrow_down.png


+ 1 - 0
student/src/main/res/layout/activity_mine_course.xml

@@ -12,6 +12,7 @@
 
     <com.google.android.material.tabs.TabLayout
         android:id="@+id/tablayout"
+        android:background="@color/white"
         android:layout_width="match_parent"
         android:layout_height="@dimen/dp_44"
         android:scrollbars="none"

+ 9 - 0
student/src/main/res/layout/fragment_live_course_layout.xml

@@ -5,6 +5,15 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+    <View
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/tv_time"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@color/white"
+        android:layout_width="0dp"
+        android:layout_height="0dp"/>
+
     <TextView
         android:id="@+id/tv_time"
         android:layout_width="wrap_content"

+ 10 - 0
student/src/main/res/layout/fragment_piano_room_course_layout.xml

@@ -5,6 +5,16 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+
+    <View
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/tv_time"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@color/white"
+        android:layout_width="0dp"
+        android:layout_height="0dp"/>
+
     <TextView
         android:id="@+id/tv_time"
         android:layout_width="wrap_content"

+ 9 - 3
student/src/main/res/layout/fragment_practice_course_layout.xml

@@ -5,11 +5,19 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
+    <View
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/tv_time"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@color/white"
+        android:layout_width="0dp"
+        android:layout_height="0dp"/>
+
     <TextView
         android:id="@+id/tv_time"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginStart="25dp"
         android:drawableRight="@drawable/icon_arrow_down"
         android:drawablePadding="6dp"
         android:gravity="center"
@@ -18,7 +26,6 @@
         android:paddingBottom="12dp"
         android:textColor="@color/color_666666"
         android:textSize="@dimen/sp_13"
-        app:layout_constraintHorizontal_chainStyle="spread_inside"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toLeftOf="@+id/tv_course_status"
         app:layout_constraintTop_toTopOf="parent"
@@ -47,7 +54,6 @@
         android:id="@+id/tv_agency"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="23dp"
         android:drawableRight="@drawable/icon_arrow_down"
         android:drawablePadding="6dp"
         android:gravity="center"

+ 9 - 0
student/src/main/res/layout/fragment_video_course_layout.xml

@@ -6,6 +6,15 @@
     android:layout_height="match_parent"
     tools:ignore="MissingDefaultResource">
 
+    <View
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintBottom_toBottomOf="@+id/tv_subject"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:background="@color/white"
+        android:layout_width="0dp"
+        android:layout_height="0dp"/>
+
     <TextView
         android:id="@+id/tv_subject"
         android:layout_width="wrap_content"