首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用java在Android中点击某物后,如何绘制任意尺寸的矩形?

在Android中,可以通过自定义View来实现点击某物后绘制任意尺寸的矩形。以下是一个实现的示例:

  1. 创建一个自定义View类,继承自View:
代码语言:txt
复制
public class CustomView extends View {
    private Paint paint;
    private Rect rect;

    public CustomView(Context context) {
        super(context);
        init();
    }

    public CustomView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {
        paint = new Paint();
        paint.setColor(Color.RED);
        paint.setStyle(Paint.Style.FILL);
        rect = new Rect();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawRect(rect, paint);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            // 获取点击位置的坐标
            int x = (int) event.getX();
            int y = (int) event.getY();
            // 设置矩形的位置和尺寸
            rect.left = x - 100; // 矩形左边距离点击位置左边100个像素
            rect.top = y - 100; // 矩形上边距离点击位置上边100个像素
            rect.right = x + 100; // 矩形右边距离点击位置右边100个像素
            rect.bottom = y + 100; // 矩形下边距离点击位置下边100个像素
            // 重绘View
            invalidate();
        }
        return true;
    }
}
  1. 在布局文件中使用自定义View:
代码语言:txt
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <com.example.myapplication.CustomView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

在上述示例中,我们创建了一个CustomView类,重写了onDraw方法,在onTouchEvent方法中处理点击事件。当用户点击屏幕时,会获取点击位置的坐标,并根据坐标设置矩形的位置和尺寸,然后调用invalidate方法触发重绘,从而在屏幕上绘制出指定尺寸的矩形。

推荐的腾讯云相关产品:无

参考链接:无

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券