android– 在画布中心绘制圆圈

android– 在画布中心绘制圆圈,第1张

概述我刚刚使用Android进入基本绘图.我从一些简单的形状开始,但我遇到了一些问题.我想在画布的中心画一个圆圈.我看了几个例子,但似乎无法使它工作.我认为这是因为我真的不明白哪些变量在哪里.有人可以解释一下在我的屏幕中心绘制圆圈的正确方法.这是我的代码:publicclassCircleex

我刚刚使用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 – 在画布中心绘制圆圈所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1113149.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存