|
@@ -0,0 +1,109 @@
|
|
|
+package com.daya.live_teaching.widget.dialog;
|
|
|
+
|
|
|
+import android.app.Dialog;
|
|
|
+import android.content.Context;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.text.TextUtils;
|
|
|
+import android.util.AttributeSet;
|
|
|
+import android.util.Log;
|
|
|
+import android.view.LayoutInflater;
|
|
|
+import android.view.View;
|
|
|
+import android.view.ViewGroup;
|
|
|
+import android.widget.FrameLayout;
|
|
|
+import android.widget.ImageView;
|
|
|
+import android.widget.LinearLayout;
|
|
|
+import android.widget.TextView;
|
|
|
+
|
|
|
+import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
|
+import com.chad.library.adapter.base.viewholder.BaseViewHolder;
|
|
|
+import com.cooleshow.base.utils.GlideUtils;
|
|
|
+import com.cooleshow.base.utils.SizeUtils;
|
|
|
+import com.daya.live_teaching.R;
|
|
|
+import com.daya.live_teaching.model.CoursewareListBean;
|
|
|
+
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import androidx.annotation.NonNull;
|
|
|
+import androidx.recyclerview.widget.RecyclerView;
|
|
|
+import androidx.viewpager2.widget.ViewPager2;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Author by pq, Date on 2022/11/17.
|
|
|
+ */
|
|
|
+public class CoursewarePreviewDialog extends Dialog implements View.OnClickListener {
|
|
|
+
|
|
|
+ private BaseQuickAdapter<String, BaseViewHolder> mAdapter;
|
|
|
+ private TextView mTvConfirm;
|
|
|
+ private ViewPager2 mViewpager;
|
|
|
+ private CoursewareListBean.RowsBean selectData;
|
|
|
+
|
|
|
+ public CoursewarePreviewDialog(@NonNull Context context) {
|
|
|
+ super(context, com.cooleshow.base.R.style.DialogStyle);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.dialog_courseware_preview_layout);
|
|
|
+ mViewpager = findViewById(R.id.viewpager);
|
|
|
+ mTvConfirm = findViewById(R.id.tv_confirm);
|
|
|
+ mTvConfirm.setOnClickListener(this);
|
|
|
+ mAdapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_courseware_preview_layout) {
|
|
|
+ @Override
|
|
|
+ protected void convert(@NonNull BaseViewHolder holder, String imgPath) {
|
|
|
+ FrameLayout fl_container = holder.getView(R.id.fl_container);
|
|
|
+ ImageView image = createImage(imgPath);
|
|
|
+ fl_container.addView(image, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
|
|
|
+ GlideUtils.INSTANCE.loadImage(getContext(), imgPath, image);
|
|
|
+ }
|
|
|
+ };
|
|
|
+ mViewpager.setAdapter(mAdapter);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setCoursewareData(CoursewareListBean.RowsBean coursewareData) {
|
|
|
+ if (coursewareData != null) {
|
|
|
+ this.selectData = coursewareData;
|
|
|
+ if (!TextUtils.isEmpty(coursewareData.musicImg)) {
|
|
|
+ Log.i("CoursewarePreviewDialog", "musicImg:" + coursewareData.musicImg);
|
|
|
+ String[] split = coursewareData.musicImg.split(",");
|
|
|
+ List<String> strings = Arrays.asList(split);
|
|
|
+ mAdapter.setNewInstance(strings);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private ImageView createImage(String imgPath) {
|
|
|
+ ImageView imageView = new ImageView(getContext());
|
|
|
+ imageView.setAdjustViewBounds(true);
|
|
|
+ return imageView;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ int id = v.getId();
|
|
|
+ if (id == R.id.tv_confirm) {
|
|
|
+ if (mViewpager != null && selectData != null) {
|
|
|
+ int currentItem = mViewpager.getCurrentItem();
|
|
|
+ if (currentItem < mAdapter.getData().size()) {
|
|
|
+ String s = mAdapter.getData().get(currentItem);
|
|
|
+ if (mEventListener != null) {
|
|
|
+ mEventListener.onSelectCourse(selectData.mp3url, s);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private OnEventListener mEventListener;
|
|
|
+
|
|
|
+ public void setOnEventListener(OnEventListener mEventListener) {
|
|
|
+ this.mEventListener = mEventListener;
|
|
|
+ }
|
|
|
+
|
|
|
+ public interface OnEventListener {
|
|
|
+ void onSelectCourse(String courseUrl, String courseImageUrl);
|
|
|
+ }
|
|
|
+}
|