version:2.7

fix:
update:视频圆角
This commit is contained in:
2022-09-01 09:31:37 +08:00
parent 61fb4663a6
commit e5b3385346
7 changed files with 122 additions and 9 deletions

View File

@@ -16,8 +16,8 @@ android {
applicationId "com.uiui.aios"
minSdkVersion 24
targetSdkVersion 29
versionCode 18
versionName "2.7"
versionCode 19
versionName "2.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -158,6 +158,9 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
implementation "androidx.room:room-runtime:2.4.3"
annotationProcessor "androidx.room:room-compiler:2.4.3"
//磁盘缓存
implementation 'com.jakewharton:disklrucache:2.0.2'
//glide

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;

View 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);
}
}

View File

@@ -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" />

View File

@@ -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>