会飞的鱼

奇乐云
首页 » Android » Android 通过画布实现一个折线图控件

Android 通过画布实现一个折线图控件

[1]控件代码
package com.example.zidinyikojian4;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class Test_view extends View {
    public Test_view(Context context, AttributeSet attrs) {
        super(context, attrs);
    }


    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint p  = new Paint();
        p.setColor(Color.BLUE);

        int xPoint = 200;
        int yPoint = 400;

        //y轴
        canvas.drawLine(xPoint,200,xPoint,yPoint,p);

        //x轴
        canvas.drawLine(xPoint,yPoint,xPoint+300,yPoint,p);

        int xStart1 = xPoint;
        int yStar1 = yPoint;
        int xEnd1 = xPoint+50;
        int yEnd1 = yPoint-100;
        canvas.drawLine(xStart1,yStar1,xEnd1,yEnd1,p);

        int xEnd2 = xEnd1+50;
        int yEnd2 = yEnd1+50;
        canvas.drawLine(xEnd1,yEnd1,xEnd2,yEnd2,p);

        int xEnd3 = xEnd2+50;
        int yEnd3 = yEnd2-120;
        canvas.drawLine(xEnd2,yEnd2,xEnd3,yEnd3,p);
    }
}

[2]引入控件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <com.example.zidinyikojian4.Test_view
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

[3]效果图
device-2019-03-02-202409.png

文章如无特别注明均为原创! 作者: 奇乐云, 转载或复制请以 超链接形式 并注明出处 奇乐云-建站源码,网络技术,免空免域,模板主题,电脑软件,超级博客
原文地址《 Android 通过画布实现一个折线图控件》发布于2019-3-2

分享到:
打赏

评论

游客

切换注册

登录

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册