Android不规则形状点击检测
来源:互联网 发布:怎么发淘宝店铺链接 编辑:程序博客网 时间:2024/04/29 20:55
public class TouchRegionView extends View {
Paint paint = new Paint();
//主要是Region ,region存储了圆的Path
Region circleRegion;//圆的Region
Path circlePath;//圆的path
public TouchRegionView(Context context) {
super(context);
}
public TouchRegionView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public TouchRegionView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public TouchRegionView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
circlePath = new Path();
circlePath.addCircle(400, 600, 300, Path.Direction.CW);
Region region = new Region(0, 0, getMeasuredWidth(), getMeasuredHeight());
circleRegion = new Region();
//把圆的path 添加到圆的Region中
circleRegion.setPath(circlePath, region);
paint.setColor(Color.GREEN);
canvas.drawPath(circlePath, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
boolean contains = circleRegion.contains((int) event.getX(), (int) event.getY());
if (contains) {
Toast.makeText(getContext(), "点击了圆", Toast.LENGTH_LONG).show();
}
}
return super.onTouchEvent(event);
}
}
只有点击圆才会Toast
0 0
- Android不规则形状点击检测
- NGUI不规则形状点击
- 不规则形状的碰撞检测
- Android画不规则形状
- Android 实现不规则形状按钮
- Android 之 不规则形状图片
- NGUI中不规则形状点击事件
- Android四角形状(角度)不规则ImageView方案
- cocos2d-x 不规则形状按钮的点击判定
- Android不规则点击区域详解
- Android不规则点击区域详解
- Android不规则点击区域详解
- Android不规则点击区域详解
- Android不规则点击区域详解
- 创建不规则形状窗口
- 不规则形状的剪切
- 生成不规则的形状
- Android不规则布局并触发点击事件
- Android 透明状态栏
- CocoaPod 版本升级
- Android轻松实现ListView下拉放大
- Android 简单实现流式布局
- AndroidStudio 用正式签名调试应用
- Android不规则形状点击检测
- 3d拖拽相册
- cisco linux english word
- 导出/导入DataPump参数TRACE - 如何诊断Oracle数据泵(文档 ID 286496.1)
- 在CentOS下搭建自己的Git服务器
- MySQL 大小写敏感修改不了
- Qt5.5 QFileDialog类的使用方法
- C语言内存
- wmi执行dos命令