Java Android不会在变量是参数之一的地方显示圆圈 公共类MainActivity扩展活动{ ImageView绘图ImageView; 帆布; 油漆; 浮动t; 私有处理程序=新处理程序(); 显示; @凌驾 创建时的公共void(Bundle saved

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

Android不会在变量是参数之一的地方显示圆圈
公共类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;
    }
}