Android(安卓)商显会议平板聚光灯效果实现
16lz
2021-12-04
聚光灯效果图
代码
DrawView.java
package com.rp.rpspotlight;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PorterDuff;import android.graphics.PorterDuffXfermode;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;import androidx.annotation.Nullable;public class DrawView extends View { //初始化圆的位置 public float currentX=500; public float currentY=500; public DrawView(Context context) { this(context,null); } public DrawView(Context context, @Nullable AttributeSet attrs) { this(context,null,0); } public DrawView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //创建画笔 canvas.drawColor(Color.BLACK); //画布颜色 Paint paint=new Paint(); //填充颜色 setWillNotDraw(false); setLayerType(LAYER_TYPE_HARDWARE, null); paint.setAntiAlias(true); paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); //将圆抠成透明 //paint.setColor(Color.BLACK); //开始画圆,float cx开始x的位置, float cy开始Y的位置, float radius圆的半径, @NonNull Paint paint画笔 canvas.drawCircle(currentX,currentY,80,paint); } @Override public boolean onTouchEvent(MotionEvent event) { //getX获得点击x位置,getY获得点击Y的位置 currentX= event.getX(); currentY=event.getY(); //重绘自身 invalidate(); //返回true自身消费 return true; }}
引用
将Activity背景设为透明
以上即可。
更多相关文章
- Android实现圆角弹框功能
- Android弹出式提示框 PopupWindow
- android 日期对话框
- android使用GPS
- android > 弹出复选框
- Android切换横屏竖屏生命周期变化
- Android(安卓)Bitmap换背景颜色
- Android(安卓)通用标题栏之组合控件
- Android(安卓)AGPS 定位 测试程序