|
@@ -0,0 +1,126 @@
|
|
|
+package com.cooleshow.student.widgets.dialog;
|
|
|
+
|
|
|
+import android.app.Dialog;
|
|
|
+import android.content.Context;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.text.TextUtils;
|
|
|
+import android.view.LayoutInflater;
|
|
|
+import android.view.View;
|
|
|
+import android.view.ViewGroup;
|
|
|
+import android.widget.ImageView;
|
|
|
+import android.widget.TextView;
|
|
|
+
|
|
|
+import com.alibaba.android.arouter.launcher.ARouter;
|
|
|
+import com.cooleshow.base.common.WebConstants;
|
|
|
+import com.cooleshow.base.router.RouterPath;
|
|
|
+import com.cooleshow.base.utils.JumpUtils;
|
|
|
+import com.cooleshow.student.R;
|
|
|
+import com.cooleshow.student.bean.AppHomeBean;
|
|
|
+import com.cooleshow.student.bean.CourseTipBean;
|
|
|
+import com.youth.banner.Banner;
|
|
|
+import com.youth.banner.adapter.BannerAdapter;
|
|
|
+import com.youth.banner.adapter.BannerImageAdapter;
|
|
|
+import com.youth.banner.config.IndicatorConfig;
|
|
|
+import com.youth.banner.indicator.RectangleIndicator;
|
|
|
+import com.youth.banner.listener.OnBannerListener;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import androidx.annotation.NonNull;
|
|
|
+import androidx.recyclerview.widget.RecyclerView;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Author by pq, Date on 2022/4/7.
|
|
|
+ */
|
|
|
+public class CourseTipDialog extends Dialog implements View.OnClickListener {
|
|
|
+ private ArrayList<CourseTipBean> list;
|
|
|
+ private int[] titles = new int[]{R.string.vip_course_tip_title, R.string.interest_course_tip_title, R.string.live_course_tip_title, R.string.video_course_tip_title};
|
|
|
+ private int[] desDatas = new int[]{R.string.vip_course_tip_str, R.string.interest_course_tip_str, R.string.live_course_tip_str, R.string.video_course_tip_str};
|
|
|
+ private Banner mBanner;
|
|
|
+ private ImageView mIvClose;
|
|
|
+ private TextView mTvConfirm;
|
|
|
+
|
|
|
+ public CourseTipDialog(@NonNull Context context) {
|
|
|
+ super(context, R.style.DialogStyle);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.dialog_course_tip_layout);
|
|
|
+ mIvClose = findViewById(R.id.iv_close);
|
|
|
+ mTvConfirm = findViewById(R.id.tv_confirm);
|
|
|
+ mBanner = findViewById(R.id.banner);
|
|
|
+ initData();
|
|
|
+ mIvClose.setOnClickListener(this);
|
|
|
+ mTvConfirm.setOnClickListener(this);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initData() {
|
|
|
+ list = new ArrayList<>();
|
|
|
+ for (int i = 0; i < titles.length; i++) {
|
|
|
+ CourseTipBean courseTipBean = new CourseTipBean();
|
|
|
+ courseTipBean.setTitle(getContext().getString(titles[i]));
|
|
|
+ courseTipBean.setDes(getContext().getString(desDatas[i]));
|
|
|
+ list.add(courseTipBean);
|
|
|
+ }
|
|
|
+ MyBannerAdapter myBannerAdapter = new MyBannerAdapter(list);
|
|
|
+ mBanner.setAdapter(myBannerAdapter, false)//添加生命周期观察者
|
|
|
+ .isAutoLoop(false)
|
|
|
+ .setIndicatorGravity(IndicatorConfig.Direction.RIGHT)
|
|
|
+// .removeIndicator()
|
|
|
+ .setIndicator(new RectangleIndicator(getContext())); //圆形指示器 还支持条形指示器等
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ switch (v.getId()) {
|
|
|
+ case R.id.iv_close:
|
|
|
+ case R.id.tv_confirm:
|
|
|
+ dismiss();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setSelect(int currentPos) {
|
|
|
+ int itemCount = mBanner.getItemCount();
|
|
|
+ if(currentPos<itemCount){
|
|
|
+ mBanner.setCurrentItem(currentPos,false);
|
|
|
+ mBanner.getIndicator().onPageChanged(itemCount,currentPos);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private class MyBannerAdapter extends BannerAdapter<CourseTipBean, ViewHolder> {
|
|
|
+
|
|
|
+ public MyBannerAdapter(List<CourseTipBean> datas) {
|
|
|
+ super(datas);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ViewHolder onCreateHolder(ViewGroup parent, int viewType) {
|
|
|
+ View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_dialog_course_tip_layout, parent, false);
|
|
|
+ return new ViewHolder(view);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onBindView(ViewHolder holder, CourseTipBean data, int position, int size) {
|
|
|
+ holder.mTvTitle.setText(data.getTitle());
|
|
|
+ holder.mTvDes.setText(data.getDes());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static class ViewHolder extends RecyclerView.ViewHolder {
|
|
|
+
|
|
|
+ private final TextView mTvTitle;
|
|
|
+ private final TextView mTvDes;
|
|
|
+
|
|
|
+ public ViewHolder(@NonNull View itemView) {
|
|
|
+ super(itemView);
|
|
|
+ mTvTitle = itemView.findViewById(R.id.tv_title);
|
|
|
+ mTvDes = itemView.findViewById(R.id.tv_des);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|