version:2.7
fix: update:视频圆角
This commit is contained in:
@@ -15,12 +15,15 @@ import android.widget.TextView;
|
||||
|
||||
import com.blankj.utilcode.util.FileUtils;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.uiui.aios.R;
|
||||
import com.uiui.aios.bean.AlarmClockData;
|
||||
import com.uiui.aios.bean.BaseResponse;
|
||||
import com.uiui.aios.network.NetInterfaceManager;
|
||||
import com.uiui.aios.utils.AlarmUtils;
|
||||
import com.uiui.aios.utils.FileUtil;
|
||||
import com.uiui.aios.utils.ScreenUtils;
|
||||
import com.uiui.aios.utils.Utils;
|
||||
import com.uiui.aios.view.JzvdStdAssert;
|
||||
|
||||
@@ -160,7 +163,8 @@ public class NoticeActivity extends AppCompatActivity {
|
||||
if (FileUtil.isPictureFile(fileType)) {
|
||||
jz_video.setVisibility(View.GONE);
|
||||
imageView.setVisibility(View.VISIBLE);
|
||||
Glide.with(NoticeActivity.this).load(filePath).into(imageView);
|
||||
RequestOptions options = new RequestOptions().transform(new RoundedCorners(ScreenUtils.dip2px(this, 16F)));
|
||||
Glide.with(NoticeActivity.this).load(filePath).apply(options).into(imageView);
|
||||
} else if (FileUtil.isVideoFile(fileType)) {
|
||||
jz_video.setVisibility(View.VISIBLE);
|
||||
imageView.setVisibility(View.GONE);
|
||||
|
||||
@@ -20,9 +20,13 @@ import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.uiui.aios.R;
|
||||
import com.uiui.aios.bean.AlarmClockData;
|
||||
import com.uiui.aios.utils.FFmpegUtils;
|
||||
import com.uiui.aios.utils.ScreenUtils;
|
||||
import com.uiui.aios.view.JzvdStdRound;
|
||||
import com.uiui.aios.view.MyJzvdStdNoTitleNoClarity;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -145,7 +149,8 @@ public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.holder> {
|
||||
holder.imageView.setVisibility(View.VISIBLE);
|
||||
holder.jz_video.setVisibility(View.GONE);
|
||||
if (!mContext.isDestroyed()) {
|
||||
Glide.with(mContext).load(url).into(holder.imageView);
|
||||
RequestOptions options = new RequestOptions().transform(new RoundedCorners(ScreenUtils.dip2px(mContext, 16F)));
|
||||
Glide.with(mContext).load(url).apply(options).into(holder.imageView);
|
||||
}
|
||||
} else {
|
||||
holder.imageView.setVisibility(View.GONE);
|
||||
@@ -161,7 +166,8 @@ public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.holder> {
|
||||
@Override
|
||||
public void onNext(@io.reactivex.rxjava3.annotations.NonNull Bitmap bitmap) {
|
||||
if (!mContext.isDestroyed()) {
|
||||
Glide.with(mContext).load(bitmap).into(holder.jz_video.posterImageView);
|
||||
RequestOptions options = new RequestOptions().transform(new RoundedCorners(ScreenUtils.dip2px(mContext, 16F)));
|
||||
Glide.with(mContext).load(bitmap).apply(options).into(holder.jz_video.posterImageView);
|
||||
}
|
||||
holder.jz_video.startButton.setImageDrawable(mContext.getDrawable(R.drawable.play));
|
||||
}
|
||||
@@ -200,7 +206,7 @@ public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.holder> {
|
||||
class holder extends RecyclerView.ViewHolder {
|
||||
TextView tv_time, tv_remind_type, tv_title, tv_voice;
|
||||
ConstraintLayout cl_voice, cl_vp;
|
||||
MyJzvdStdNoTitleNoClarity jz_video;
|
||||
JzvdStdRound jz_video;
|
||||
ImageView imageView;
|
||||
Switch switch1;
|
||||
|
||||
|
||||
@@ -21,8 +21,6 @@ import java.lang.reflect.Type;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
92
app/src/main/java/com/uiui/aios/view/JzvdStdRound.java
Normal file
92
app/src/main/java/com/uiui/aios/view/JzvdStdRound.java
Normal file
@@ -0,0 +1,92 @@
|
||||
package com.uiui.aios.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PaintFlagsDrawFilter;
|
||||
import android.graphics.Path;
|
||||
import android.graphics.RectF;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.uiui.aios.R;
|
||||
|
||||
import cn.jzvd.JzvdStd;
|
||||
|
||||
public class JzvdStdRound extends JzvdStd {
|
||||
|
||||
private int radius;
|
||||
private int leftTopRadius;
|
||||
private int rightTopRadius;
|
||||
private int rightBottomRadius;
|
||||
private int leftBottomRadius;
|
||||
|
||||
public JzvdStdRound(Context context) {
|
||||
super(context);
|
||||
}
|
||||
public JzvdStdRound(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initAttrs(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.layout_jzstd_notitle;
|
||||
}
|
||||
|
||||
void initAttrs(Context context, AttributeSet attrs) {
|
||||
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.JzvdStdRound);
|
||||
radius = a.getDimensionPixelSize(R.styleable.JzvdStdRound_radius, 0);
|
||||
leftTopRadius = a.getDimensionPixelSize(R.styleable.JzvdStdRound_left_top_radius, 0);
|
||||
rightTopRadius = a.getDimensionPixelSize(R.styleable.JzvdStdRound_right_top_radius, 0);
|
||||
rightBottomRadius = a.getDimensionPixelSize(R.styleable.JzvdStdRound_right_bottom_radius, 0);
|
||||
leftBottomRadius = a.getDimensionPixelSize(R.styleable.JzvdStdRound_left_bottom_radius, 0);
|
||||
}
|
||||
|
||||
|
||||
public void setRadius(int radius){
|
||||
this.radius = radius;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setLeftTopRadius(int leftTopRadius) {
|
||||
this.leftTopRadius = leftTopRadius;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
|
||||
public void setRightTopRadius(int rightTopRadius) {
|
||||
this.rightTopRadius = rightTopRadius;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
|
||||
public void setRightBottomRadius(int rightBottomRadius) {
|
||||
this.rightBottomRadius = rightBottomRadius;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
public void setLeftBottomRadius(int leftBottomRadius) {
|
||||
this.leftBottomRadius = leftBottomRadius;
|
||||
invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatchDraw(Canvas canvas) {
|
||||
Path path = new Path();
|
||||
if (radius > 0) {
|
||||
path.addRoundRect(new RectF(0, 0, getMeasuredWidth(), getMeasuredHeight()),
|
||||
radius, radius, Path.Direction.CW);
|
||||
} else {
|
||||
path.addRoundRect(new RectF(0, 0, getMeasuredWidth(), getMeasuredHeight()),
|
||||
new float[]{leftTopRadius, leftTopRadius, rightTopRadius, rightTopRadius,
|
||||
rightBottomRadius, rightBottomRadius, leftBottomRadius, leftBottomRadius},
|
||||
Path.Direction.CW);
|
||||
canvas.setDrawFilter(new PaintFlagsDrawFilter(0,
|
||||
Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG));
|
||||
}
|
||||
canvas.clipPath(path);
|
||||
super.dispatchDraw(canvas);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,8 +120,9 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<com.uiui.aios.view.MyJzvdStdNoTitleNoClarity
|
||||
<com.uiui.aios.view.JzvdStdRound
|
||||
android:id="@+id/jz_video"
|
||||
app:radius="16dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
|
||||
@@ -7,4 +7,13 @@
|
||||
<attr name="itemMargin" format="integer" />
|
||||
</declare-styleable>
|
||||
|
||||
<!-- JzvdStdRound -->
|
||||
<declare-styleable name="JzvdStdRound">
|
||||
<attr name="radius" format="dimension" />
|
||||
<attr name="left_top_radius" format="dimension" />
|
||||
<attr name="right_top_radius" format="dimension" />
|
||||
<attr name="right_bottom_radius" format="dimension" />
|
||||
<attr name="left_bottom_radius" format="dimension" />
|
||||
</declare-styleable>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user