android - 在屏幕中央绘制一个矩形

标签 android

请看下面的代码。我想在屏幕中央画一个矩形。但是它在左下角画了一个矩形。

protected  void onDraw(Canvas canvas) {
        paint.setColor(Color.GREEN);
        canvas.drawRect(getLeft()/2,getTop()/2,getRight()/2,getBottom()/2,paint);
        super.onDraw(canvas);
    }

最佳答案

类似的东西?

    protected void onDraw(Canvas canvas) {
        int canvasW = getWidth();
        int canvasH = getHeight();
        Point centerOfCanvas = new Point(canvasW / 2, canvasH / 2);
        int rectW = 100;
        int rectH = 100;
        int left = centerOfCanvas.x - (rectW / 2);
        int top = centerOfCanvas.y - (rectH / 2);
        int right = centerOfCanvas.x + (rectW / 2);
        int bottom = centerOfCanvas.y + (rectH / 2);
        Rect rect = new Rect(left, top, right, bottom);
        canvas.drawRect(rect, new Paint());
    }

关于android - 在屏幕中央绘制一个矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294983/

相关文章:

android - findViewById 在调用 setContentView 后返回 null

android - Button 和 ImageButton 的外观差异

android - AlphabetIndexer 不适用于自定义 ListView

iphone - Facebook API 限制

android - 从启动的 Activity 返回后 RecyclerView 布局损坏

android - Android中的静态单例生命周期

java - 找不到处理 Intent android.intent.action.REQUEST_TANGO_PERMISSION 的 Activity (有额外功能)

javascript - 从 android 连接到 node.js 服务器时遇到问题

java - Android - 任务 ':app:transformClassesWithMultidexlistForDebug' 执行失败

Android Google Analytics 不报告未捕获的崩溃和异常