42 lines
1.0 KiB
Java
42 lines
1.0 KiB
Java
package com.xixun.xixunplayer;
|
|
|
|
import android.content.Context;
|
|
import android.graphics.Bitmap;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.Rect;
|
|
import android.graphics.RectF;
|
|
import android.view.Choreographer;
|
|
import android.view.SurfaceView;
|
|
import android.view.View;
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
public class SrcCopy extends View {
|
|
|
|
View view;
|
|
float scaleX = 1, scaleY = 1;
|
|
|
|
public SrcCopy(Context context, View view) {
|
|
super(context);
|
|
this.view = view;
|
|
}
|
|
|
|
@Override
|
|
protected void onDraw(@NonNull Canvas canvas) {
|
|
super.onDraw(canvas);
|
|
if(view==null) return;
|
|
if(scaleX==0) {
|
|
if(view.getWidth()!=0&&getWidth()!=0) {
|
|
scaleX = getWidth() / (float) view.getWidth();
|
|
scaleY = getHeight() / (float) view.getHeight();
|
|
} else {
|
|
invalidate();
|
|
return;
|
|
}
|
|
}
|
|
if(scaleX!=1 || scaleY!=1) canvas.scale(scaleX, scaleY);
|
|
view.draw(canvas);
|
|
invalidate();
|
|
}
|
|
}
|