Java Android不会在变量是参数之一的地方显示圆圈 公共类MainActivity扩展活动{ ImageView绘图ImageView; 帆布; 油漆; 浮动t; 私有处理程序=新处理程序(); 显示; @凌驾 创建时的公共void(Bundle saved
Android不会在变量是参数之一的地方显示圆圈Java Android不会在变量是参数之一的地方显示圆圈 公共类MainActivity扩展活动{ ImageView绘图ImageView; 帆布; 油漆; 浮动t; 私有处理程序=新处理程序(); 显示; @凌驾 创建时的公共void(Bundle saved,java,android,canvas,geometry,Java,Android,Canvas,Geometry,Android不会在变量是参数之一的地方显示圆圈 公共类MainActivity扩展活动{ ImageView绘图ImageView; 帆布; 油漆; 浮动t; 私有处理程序=新处理程序(); 显示; @凌驾 创建时的公共void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); display=getWindowManager().get
公共类MainActivity扩展活动{
ImageView绘图ImageView;
帆布;
油漆;
浮动t;
私有处理程序=新处理程序();
显示;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display=getWindowManager().getDefaultDisplay();
Display Display=getWindowManager().getDefaultDisplay();
点大小=新点();
display.getSize(size);
浮动宽度=大小x;
浮动高度=尺寸y;
drawingImageView=(ImageView)this.findViewById(R.id.ImageView);
位图Bitmap=Bitmap.createBitmap((int)宽度,(int)高度,Bitmap.Config.ARGB_8888);
画布=新画布(位图);
drawingImageView.setImageBitmap(位图);
//路径
油漆=新油漆();
绘制.设置样式(绘制.样式.填充);
油漆。设置颜色(颜色。绿色);
handler.postDelayed(可运行,0);
}
private Runnable Runnable=new Runnable(){
@凌驾
公开募捐{
canvas.drawPath(DrawCircle(1f,(t*0.05f),100),paint);//您在哪里实例化了变量t
?谢谢,我不知道我怎么会错过它
public class MainActivity extends Activity {
ImageView drawingImageView;
Canvas canvas;
Paint paint;
float t;
private Handler handler = new Handler();
Display display;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = getWindowManager().getDefaultDisplay();
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
float width = size.x;
float height = size.y;
drawingImageView = (ImageView) this.findViewById(R.id.imageView);
Bitmap bitmap = Bitmap.createBitmap((int) width, (int) height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
drawingImageView.setImageBitmap(bitmap);
// Path
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.GREEN);
handler.postDelayed(runnable, 0);
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
canvas.drawPath(DrawCircle(1f, (t*0.05f), 100), paint); //<------Does not work
canvas.drawPath(DrawCircle(1f, 0.1f, 100), paint); //<----- works
t++;
handler.postDelayed(this, 1000);
}
};
public Path DrawCircle(float PercOfScreen, float Amount, int vertexCount){
Point size = new Point();
display.getSize(size);
float width = size.x;
float height = size.y;
Path p = new Path();
int center_x = (int) width/2;
int center_y = (int) height/2;
int bound;
if (height > width){
bound = (int) width;
}
else{
bound = (int) height;
}
int radius = (int) (PercOfScreen*bound/2);
float Pi = (float) Math.PI;
p.moveTo(center_x, center_y);
for (int i = 0; i < vertexCount*Amount; ++i){
float percent = (i / (float) (vertexCount-1));
double rad = percent * 2f*Pi;
//vertex position
float outer_x = center_x + radius * (float)Math.cos(rad);
float outer_y = center_y + radius * (float)Math.sin(rad);
p.lineTo(outer_x, outer_y);
}
return p;
}
}