Android简单实现k线图,

来源:互联网 发布:网络称谓谜材 编辑:程序博客网 时间:2024/05/16 06:35

我并没有根据股票的具体数字进行画图,如果大家需要具体实现的话,就需要根据具体的坐标和股票值进行比例转换,转换好了以后就能进行具体画图                                       了,废话不多说先上图给大家看看

  


下面我就直接贴源码了 非常简单,希望不要喷我
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Display display = getWindowManager().getDefaultDisplay();
        bitmap = Bitmap.createBitmap(display.getWidth(), display.getHeight(), Bitmap.Config.ARGB_8888);
        img = (ImageView) findViewById(R.id.img);
        img.setImageBitmap(bitmap);
        initCanvas();
        initPanit();
        drawMap();
        initText();
        drawKmap();
    }

    private void initText() {
        canvas.drawText("200",200,1650,paint);
        canvas.drawText("400",400,1650,paint);
        canvas.drawText("600",600,1650,paint);
        canvas.drawText("800",800,1650,paint);
        canvas.drawText("1000",1000,1650,paint);
        canvas.drawText("1200",1200,1650,paint);
        canvas.drawText("1400",1400,1650,paint);
        canvas.drawText("1600",1600,1650,paint);

        //x轴
        canvas.drawText("200",20,1600,paint);
        canvas.drawText("400",20,1400,paint);
        canvas.drawText("600",20,1200,paint);
        canvas.drawText("800",20,1000,paint);
        canvas.drawText("1000",0,800,paint);
        canvas.drawText("1200",0,600,paint);
        canvas.drawText("1400",0,400,paint);
        canvas.drawText("1600",0,200,paint);
        img.setImageBitmap(bitmap);
        img.invalidate();
    }
private void drawKmap() {
        canvas.drawLine(288,968,395,1300,paint);
        canvas.drawLine(395,1300,554,1266,paint);
        canvas.drawLine(554,1266,788,715,paint);
        canvas.drawLine(788,715,891,758,paint);
        canvas.drawLine(891,758,1256,136,paint);
        img.setImageBitmap(bitmap);
        img.invalidate();
    }
    private void drawMap() {
        canvas.drawLine(150f, 120f, 150f, 1700f, paint);
        canvas.drawLine(0f, 1600f, 1500f, 1600f, paint);
    }
    private void initPanit() {
        paint = new Paint();
        paint.setColor(Color.RED);
        paint.setStrokeWidth(10);
        paint.setTextSize(50);
    }
    Canvas canvas;
    private void initCanvas() {
     canvas = new Canvas();
        canvas.setBitmap(bitmap);

    }


}


原文地址:http://www.921kf.com/thread-14-1-1.html


0 0
原创粉丝点击