Android   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在画布中心绘制圆圈大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我刚刚使用Android进入基本绘图.我从一些简单的形状开始,但我遇到了一些问题.我想在画布的中心画一个圆圈.我看了几个例子,但似乎无法使它工作.我认为这是因为我真的不明白哪些变量在哪里.

有人可以解释一下在我的屏幕中心绘制圆圈的正确方法.这是我的代码

public class Circle extends View{

int width = this.getWidth();
int height = this.getHeight();

public Circle(Context context) {
    super(context);
    setFocusable(true);

}
protected void onDraw(Canvas canvas){
    canvas.drawColor(Color.CYAN);
    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);
    //canvas.drawCircle(100, 100, 50, paint);
    canvas.drawCircle(width/2, height/2, 100, paint);

    Display disp = ((WindowManager)this.getContext().getSystemservice(Context.WINDOW_serviCE)).getDefaultDisplay();

    float radius = 0;//Radius caused an error so I initialized this variable

    canvas.drawCircle(disp.getWidth()/2, disp.getHeight()/2, radius, paint);

}

}

解决方法:

调用getWidth()和getHeight()时,视图的宽度和高度尚未初始化,只需在onDraw中使用getWidth()和getHeight():

canvas.drawCircle(getWidth()/2, getHeight()/2, 100, paint);

您还可以覆盖onSizeChanged并获取视图宽度和高度.

PS:不在onDraw中创建任何东西,在构造函数中创建paint对象.

大佬总结

以上是大佬教程为你收集整理的android – 在画布中心绘制圆圈全部内容,希望文章能够帮你解决android – 在画布中心绘制圆圈所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: