VideoThumbnailView.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.cooleshow.base.widgets;
  2. import android.content.Context;
  3. import android.text.TextUtils;
  4. import android.util.AttributeSet;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.widget.FrameLayout;
  8. import androidx.annotation.NonNull;
  9. import androidx.annotation.Nullable;
  10. import com.bumptech.glide.Glide;
  11. import com.bumptech.glide.request.RequestOptions;
  12. import com.cooleshow.base.R;
  13. import com.cooleshow.base.ui.video.VideoPlayActivity;
  14. /**
  15. * Author by pq, Date on 2022/4/27.
  16. */
  17. public class VideoThumbnailView extends FrameLayout {
  18. private QMUIRadiusImageView mIvBg;
  19. private String videoPath;
  20. public VideoThumbnailView(@NonNull Context context) {
  21. this(context, null);
  22. }
  23. public VideoThumbnailView(@NonNull Context context, @Nullable AttributeSet attrs) {
  24. this(context, attrs, -1);
  25. }
  26. public VideoThumbnailView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
  27. super(context, attrs, defStyleAttr);
  28. init();
  29. }
  30. private void init() {
  31. LayoutInflater.from(getContext()).inflate(R.layout.view_homework_video_thumbnail_layout, this);
  32. mIvBg = findViewById(R.id.iv_bg);
  33. mIvBg.setOnClickListener(new OnClickListener() {
  34. @Override
  35. public void onClick(View v) {
  36. if (!TextUtils.isEmpty(videoPath)) {
  37. VideoPlayActivity.start(getContext(), videoPath);
  38. }
  39. }
  40. });
  41. }
  42. public void setData(String videoUrl) {
  43. this.videoPath = videoUrl;
  44. Glide.with(getContext())
  45. .setDefaultRequestOptions(
  46. new RequestOptions()
  47. .frame(0)
  48. .centerCrop()
  49. .error(com.cooleshow.base.R.drawable.bg_video_placeholder)
  50. .placeholder(com.cooleshow.base.R.drawable.bg_video_placeholder)
  51. )
  52. .load(videoUrl)
  53. .into(mIvBg);
  54. }
  55. }