安卓自定义View,这个View怎么实现定义字段int n,
aide吧
全部回复
仅看楼主
level 9
AdMiN😄 楼主
安卓自定义View,这个View怎么实现
定义字段int n,m,画8个同心圆,知道间距,知道圆心坐标,知道最里面的圆的半径,要在圆上画点,n表示有n个点,把圆分成了n等份,m表示从里往外数的第几个圆,知道其中一个点的坐标,剩余的点怎么显示(怎么求坐标)?
表述不明确大概是这样的。怎么跟数学题一样[滑稽][滑稽][滑稽]
2019年05月14日 12点05分 1
level 13
知道圆心,半径,按角度得到点的坐标。
float y=cy+(float)(Math.sin(angle*Math.PI/180)*r);//Y
float x=cx+(float)(Math.cos(angle*Math.PI/180)*r);//X
r是半径,angle是角度,cx,cy圆心坐标
2019年05月14日 14点05分 2
谢谢!我大概知道怎么做了[真棒]
2019年05月15日 05点05分
level 9
[滑稽]回复竟然被删了
2019年05月15日 12点05分 5
level 9
2019年05月15日 12点05分 6
level 9
int x=width/2,y=height/2;
int 点数=4;
int 间距=200;
int 圈数=10;
for(int i=0;i<圈数;i++){
paint.setStyle(Paint.Style.STROKE);
canvas.drawCircle(x,y,10+i*间距,paint);
paint.setStyle(Paint.Style.FILL);
drawPoint(canvas,paint,x,y,点数+=1,10+i*间距,18);
//(画布,画笔,圈心x,圈心y,点数,圈半径);
public static void drawPoint(Canvas c,Paint p,int x,int y,int n,int r,int size){
for(int i=0;i<n;i++){
float f=(360.0f/n);
float px=(float)(x+r*(-Math.sin(i*(f/180*Math.PI))));
float py=(float)(y+r*Math.cos(i*(f/180*Math.PI)));
c.drawCircle(px,py,size,p);
}
}
2019年05月15日 12点05分 7
level 9
防删!
int x=width/2,y=height/2;
int 点数=4;
int 间距=200;
int 圈数=10;
for(int i=0;i<圈数;i++){
paint.setStyle(Paint.Style.STROKE);
canvas.drawCircle(x,y,10+i*间距,paint);
paint.setStyle(Paint.Style.FILL);
drawPoint(canvas,paint,x,y,点数+=1,10+i*间距,18);
//(画布,画笔,圈心x,圈心y,点数,圈半径);
public static void drawPoint(Canvas c,Paint p,int x,int y,int n,int r,int size){
for(int i=0;i<n;i++){
float f=(360.0f/n);
float px=(float)(x+r*(-Math.sin(i*(f/180*Math.PI))));
float py=(float)(y+r*Math.cos(i*(f/180*Math.PI)));
c.drawCircle(px,py,size,p);
}
}
防删!
2019年05月15日 12点05分 8
level 9
由于系统会删,多发几次
2019年05月15日 13点05分 9
谢谢,已经解决了。[太开心]另怎么Java动态调整RippleDrawable的背景和波纹颜色?
2019年05月15日 21点05分
不是有xml吗?
2019年05月16日 10点05分
有很多基本重复的xml是不是不太好[汗]
2019年05月17日 23点05分
@AdMiN😄 setColor
2019年05月18日 04点05分
level 9
AdMiN😄 楼主
此贴终结[滑稽][滑稽][滑稽]
2019年05月15日 21点05分 10
1