ソースを参照

修改部分问题

Pq 4 ヶ月 前
コミット
14941975ec

+ 12 - 0
BaseLibrary/src/main/java/com/cooleshow/base/widgets/dialog/CourseTipDialog.java

@@ -44,6 +44,7 @@ public class CourseTipDialog extends Dialog implements View.OnClickListener {
     private ImageView mIvClose;
     private TextView mTvConfirm;
     private MyBannerAdapter mBannerAdapter;
+    private OnEventListener mEventListener;
 
     public CourseTipDialog(@NonNull Context context) {
         super(context, R.style.DialogStyle);
@@ -84,6 +85,9 @@ public class CourseTipDialog extends Dialog implements View.OnClickListener {
         int id = v.getId();
         if (id == R.id.iv_close || id == R.id.tv_confirm) {
             dismiss();
+            if (mEventListener != null) {
+                mEventListener.onCancelClick();
+            }
             return;
         }
     }
@@ -154,4 +158,12 @@ public class CourseTipDialog extends Dialog implements View.OnClickListener {
             mTvDes = itemView.findViewById(R.id.tv_des);
         }
     }
+
+    public void setEventListener(OnEventListener eventListener) {
+        mEventListener = eventListener;
+    }
+
+    public interface OnEventListener{
+        void onCancelClick();
+    }
 }

+ 16 - 16
student/src/main/java/com/cooleshow/student/adapter/MessageBoxAdapter.java

@@ -57,64 +57,64 @@ public class MessageBoxAdapter extends BaseQuickAdapter<SystemMessageBean.RowsBe
         switch (subType) {
             case "TEACHER_AUTH":
                 //老师认证
-                im_type.setBackgroundResource(R.drawable.icon_message_teacher_auth);
+                im_type.setImageResource(R.drawable.icon_message_teacher_auth);
                 break;
             case "MUSICIAN_AUTH":
                 //音乐人认证
-                im_type.setBackgroundResource(R.drawable.icon_message_music_auth);
+                im_type.setImageResource(R.drawable.icon_message_music_auth);
                 break;
             case "PRACTICE":
                 //陪练课
-                im_type.setBackgroundResource(R.drawable.icon_message_practice);
+                im_type.setImageResource(R.drawable.icon_message_practice);
                 break;
             case "LIVE":
                 //直播课
-                im_type.setBackgroundResource(R.drawable.icon_message_live);
+                im_type.setImageResource(R.drawable.icon_message_live);
                 break;
             case "VIDEO":
                 //视频课
-                im_type.setBackgroundResource(R.drawable.icon_message_video);
+                im_type.setImageResource(R.drawable.icon_message_video);
                 break;
             case "MUSIC_SHEET":
                 //乐谱
-                im_type.setBackgroundResource(R.drawable.icon_message_music_sheet);
+                im_type.setImageResource(R.drawable.icon_message_music_sheet);
                 break;
             case "COURSE":
                 //课程
-                im_type.setBackgroundResource(R.drawable.icon_message_course);
+                im_type.setImageResource(R.drawable.icon_message_course);
                 break;
             case "INCOME":
                 //收入
-                im_type.setBackgroundResource(R.drawable.icon_message_income);
+                im_type.setImageResource(R.drawable.icon_message_income);
                 break;
             case "HOMEWORK":
                 //作业
-                im_type.setBackgroundResource(R.drawable.icon_message_homework);
+                im_type.setImageResource(R.drawable.icon_message_homework);
                 break;
             case "EVALUATE":
                 //评价
-                im_type.setBackgroundResource(R.drawable.icon_message_evaluate);
+                im_type.setImageResource(R.drawable.icon_message_evaluate);
                 break;
             case "GROUP_CHAT":
                 //群聊
-                im_type.setBackgroundResource(R.drawable.icon_message_group_chat);
+                im_type.setImageResource(R.drawable.icon_message_group_chat);
                 break;
             case "VIP":
                 //会员
-                im_type.setBackgroundResource(R.drawable.icon_message_vip);
+                im_type.setImageResource(R.drawable.icon_message_vip);
                 break;
             case "PIANO_ROOM":
-                im_type.setBackgroundResource(R.drawable.icon_message_piano);
+                im_type.setImageResource(R.drawable.icon_message_piano);
                 break;
             case "STYLE":
-                im_type.setBackgroundResource(R.drawable.icon_message_audit);
+                im_type.setImageResource(R.drawable.icon_message_audit);
                 break;
             case "ACTIVITY":
-                im_type.setBackgroundResource(R.drawable.icon_item_acytivity_msg);
+                im_type.setImageResource(R.drawable.icon_item_acytivity_msg);
                 break;
             default:
                 //公告
-                im_type.setBackgroundResource(R.drawable.icon_message_other);
+                im_type.setImageResource(R.drawable.icon_message_other);
                 break;
         }
     }

+ 37 - 10
student/src/main/java/com/cooleshow/student/ui/course/AppointmentCourseActivity.java

@@ -12,6 +12,7 @@ import com.cooleshow.base.bean.SubjectListBean;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
+import com.cooleshow.base.utils.ThreadUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.dialog.CourseTipDialog;
 import com.cooleshow.musicmerge.adapter.MyWorkPagerAdapter;
@@ -24,6 +25,7 @@ import com.cooleshow.student.databinding.ActivityAppointmentCourseBinding;
 import com.cooleshow.student.databinding.ActivityMineCourseBinding;
 import com.cooleshow.student.presenter.course.AppointCoursePresenter;
 import com.cooleshow.student.presenter.course.MineCoursePresenter;
+import com.cooleshow.usercenter.helper.UserHelper;
 import com.google.android.material.tabs.TabLayout;
 import com.google.android.material.tabs.TabLayoutMediator;
 
@@ -46,6 +48,7 @@ import androidx.viewpager2.widget.ViewPager2;
 @Route(path = RouterPath.CourseCenter.APPOINTMENT_COURSE)
 public class AppointmentCourseActivity extends BaseMVPActivity<ActivityAppointmentCourseBinding, AppointCoursePresenter> implements AppointCourseContract.View, View.OnClickListener {
     public static final String SELECT_POSITION = "selectPosition";
+    public static final String HAS_SHOW_TIP_DIALOG = "showAppointCourseTipDialog";
     private TabLayout tabLayout;
     private ViewPager2 viewPager;
     private ArrayList<String> titles = null;
@@ -74,7 +77,6 @@ public class AppointmentCourseActivity extends BaseMVPActivity<ActivityAppointme
     }
 
 
-
     @Override
     protected ActivityAppointmentCourseBinding getLayoutView() {
         return ActivityAppointmentCourseBinding.inflate(getLayoutInflater());
@@ -102,14 +104,15 @@ public class AppointmentCourseActivity extends BaseMVPActivity<ActivityAppointme
             viewBinding.viewPager.post(new Runnable() {
                 @Override
                 public void run() {
-                    viewBinding.viewPager.setCurrentItem(selectPosition,false);
+                    viewBinding.viewPager.setCurrentItem(selectPosition, false);
                 }
             });
         }
+        checkIsAutoShowTipDialog(selectPosition);
     }
 
     private void initTabLayoutAndViewPager() {
-        TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(tabLayout,  viewBinding.viewPager, (tab, position) -> {
+        TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(tabLayout, viewBinding.viewPager, (tab, position) -> {
             //这里需要根据position修改tab的样式和文字等
             createTab(tab, titles.get(position));
         });
@@ -198,21 +201,45 @@ public class AppointmentCourseActivity extends BaseMVPActivity<ActivityAppointme
     @Override
     public void onClick(View v) {
         int id = v.getId();
-        if(id == com.cooleshow.base.R.id.tv_right){
-            showTipDialog();
+        if (id == com.cooleshow.base.R.id.tv_right) {
+            int currentPos = viewBinding.viewPager.getCurrentItem();
+            showTipDialog(currentPos);
             return;
         }
     }
 
-    private void showTipDialog() {
-        int currentPos = viewBinding.viewPager.getCurrentItem();
-        if (mCourseTipDialog == null){
+
+    private void checkIsAutoShowTipDialog(int selectPosition) {
+        ThreadUtils.getMainHandler().post(new Runnable() {
+            @Override
+            public void run() {
+                int customCacheForInt = UserHelper.getCustomCacheForInt(HAS_SHOW_TIP_DIALOG );
+                if (customCacheForInt == 0) {
+                    //未显示,显示弹窗
+                    showTipDialog(selectPosition);
+                }
+            }
+        });
+    }
+
+    private void setAutoShowTipDialogCompleted() {
+        UserHelper.setCustomCache(HAS_SHOW_TIP_DIALOG, 1);
+    }
+
+    private void showTipDialog(int selectPos) {
+        if (mCourseTipDialog == null) {
             mCourseTipDialog = new CourseTipDialog(this);
+            mCourseTipDialog.setEventListener(new CourseTipDialog.OnEventListener() {
+                @Override
+                public void onCancelClick() {
+                    setAutoShowTipDialogCompleted();
+                }
+            });
         }
-        if(!mCourseTipDialog.isShowing()){
+        if (!mCourseTipDialog.isShowing()) {
             mCourseTipDialog.show();
         }
-        mCourseTipDialog.setSelect(currentPos);
+        mCourseTipDialog.setSelect(selectPos);
     }
 
 

BIN
student/src/main/res/drawable-xhdpi/icon_message_practice.png


BIN
student/src/main/res/drawable-xxhdpi/icon_message_practice.png


+ 2 - 2
student/src/main/res/layout/item_home_hot_news.xml

@@ -5,14 +5,14 @@
     android:layout_width="match_parent"
     android:id="@+id/cs_root"
     android:layout_height="wrap_content"
-    android:paddingBottom="20dp">
+    android:paddingTop="10dp"
+    android:paddingBottom="10dp">
 
     <com.cooleshow.base.widgets.QMUIRadiusImageView
         android:id="@+id/im_pic"
         android:layout_width="@dimen/dp_108"
         android:layout_height="@dimen/dp_80"
         android:layout_marginLeft="@dimen/dp_11"
-        android:layout_marginTop="20dp"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:qmui_corner_radius="@dimen/dp_6" />

+ 1 - 1
student/src/main/res/layout/layout_message_nox_item.xml

@@ -14,7 +14,7 @@
         android:layout_marginLeft="15dp"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
-        tool:background="@drawable/icon_item_practice" />
+        tool:src="@drawable/icon_item_practice" />
 
     <TextView
         app:layout_constraintHorizontal_bias="0"

+ 16 - 16
teacher/src/main/java/com/cooleshow/teacher/adapter/MessageBoxAdapter.java

@@ -63,64 +63,64 @@ public class MessageBoxAdapter extends BaseQuickAdapter<SystemMessageBean.RowsBe
         switch (subType) {
             case "TEACHER_AUTH":
                 //老师认证
-                im_type.setBackgroundResource(R.drawable.icon_message_teacher_auth);
+                im_type.setImageResource(R.drawable.icon_message_teacher_auth);
                 break;
             case "MUSICIAN_AUTH":
                 //音乐人认证
-                im_type.setBackgroundResource(R.drawable.icon_message_music_auth);
+                im_type.setImageResource(R.drawable.icon_message_music_auth);
                 break;
             case "PRACTICE":
                 //陪练课
-                im_type.setBackgroundResource(R.drawable.icon_message_practice);
+                im_type.setImageResource(R.drawable.icon_message_practice);
                 break;
             case "LIVE":
                 //直播课
-                im_type.setBackgroundResource(R.drawable.icon_message_live);
+                im_type.setImageResource(R.drawable.icon_message_live);
                 break;
             case "VIDEO":
                 //视频课
-                im_type.setBackgroundResource(R.drawable.icon_message_video);
+                im_type.setImageResource(R.drawable.icon_message_video);
                 break;
             case "MUSIC_SHEET":
                 //乐谱
-                im_type.setBackgroundResource(R.drawable.icon_message_music_sheet);
+                im_type.setImageResource(R.drawable.icon_message_music_sheet);
                 break;
             case "COURSE":
                 //课程
-                im_type.setBackgroundResource(R.drawable.icon_message_course);
+                im_type.setImageResource(R.drawable.icon_message_course);
                 break;
             case "INCOME":
                 //收入
-                im_type.setBackgroundResource(R.drawable.icon_message_income);
+                im_type.setImageResource(R.drawable.icon_message_income);
                 break;
             case "HOMEWORK":
                 //作业
-                im_type.setBackgroundResource(R.drawable.icon_message_homework);
+                im_type.setImageResource(R.drawable.icon_message_homework);
                 break;
             case "EVALUATE":
                 //评价
-                im_type.setBackgroundResource(R.drawable.icon_message_evaluate);
+                im_type.setImageResource(R.drawable.icon_message_evaluate);
                 break;
             case "GROUP_CHAT":
                 //群聊
-                im_type.setBackgroundResource(R.drawable.icon_message_group_chat);
+                im_type.setImageResource(R.drawable.icon_message_group_chat);
                 break;
             case "VIP":
                 //会员
-                im_type.setBackgroundResource(R.drawable.icon_message_vip);
+                im_type.setImageResource(R.drawable.icon_message_vip);
                 break;
             case "PIANO_ROOM":
-                im_type.setBackgroundResource(R.drawable.icon_message_piano);
+                im_type.setImageResource(R.drawable.icon_message_piano);
                 break;
             case "STYLE":
-                im_type.setBackgroundResource(R.drawable.icon_message_audit);
+                im_type.setImageResource(R.drawable.icon_message_audit);
                 break;
             case "ACTIVITY":
-                im_type.setBackgroundResource(R.drawable.icon_item_acytivity_msg);
+                im_type.setImageResource(R.drawable.icon_item_acytivity_msg);
                 break;
             default:
                 //公告
-                im_type.setBackgroundResource(R.drawable.icon_message_other);
+                im_type.setImageResource(R.drawable.icon_message_other);
                 break;
         }
 }

BIN
teacher/src/main/res/drawable-xhdpi/icon_message_practice.png


BIN
teacher/src/main/res/drawable-xxhdpi/icon_message_practice.png