折线图的用法

Base
在这里插入图片描述
在这里插入图片描述
接口
接口
M
在这里插入图片描述
P
在这里插入图片描述
网络的
在这里插入图片描述
登录1
public class MainActivity extends BaseActivity {

private EditText activity_edita;
private EditText activity_editb;
private Button activity_but1;
private Button activity_but2;
private String phone;
private String pwd;
private MyPresenter myPresenter;
private String ac_eda;
private String ac_edb;

@Override
protected void initData() {

    //登陆
    activity_but1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ac_eda = activity_edita.getText().toString().trim();
            ac_edb = activity_editb.getText().toString().trim();
            Map<String,String>map=new HashMap<>();
            map.put("phone", ac_eda);
            map.put("pwd", ac_edb);
            myPresenter.toRequest("http://172.17.8.100/small/user/v1/login",map);
        }
    });
    //注册
    activity_but2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(MainActivity.this,Main2Activity.class);
            startActivityForResult(intent,2000);

        }
    });
}

@Override
protected void initView() {
    activity_edita=findViewById(R.id.activity_edita);
    activity_editb=findViewById(R.id.activity_editb);
    activity_but1=findViewById(R.id.activity_but);//登陆
    activity_but2=findViewById(R.id.activity_but2);

}

@Override
protected int Layout() {
    return R.layout.activity_main;
}

@Override
protected BasePresneter PLayout() {
    myPresenter = new MyPresenter();
     return myPresenter;
}


@Override
public void success(String json) {
    Gson gson=new Gson();
    Shop shop = gson.fromJson(json, Shop.class);
    String dl = shop.getStatus().trim();
    Toast.makeText(this, dl, Toast.LENGTH_SHORT).show();
    //----------------------
    Shop3 shop3 = gson.fromJson(json, Shop3.class);
    String headPic = shop3.getResult().getHeadPic();
    String nickName = shop3.getResult().getNickName();
    int sex = shop3.getResult().getSex();
    if (dl.equals("0000")) {
        Intent intent = new Intent(MainActivity.this, Main3Activity.class);
        intent.putExtra("pic",headPic);
        intent.putExtra("name",nickName);
        intent.putExtra("sex",sex);
        Log.i("aa","sex1"+sex);
        startActivity(intent);
    }
}

}
登录哦2
public class Main2Activity extends BaseActivity {

private EditText activity2_edita;
private EditText activity2_editb;
private Button activity2_but2;
private MyPresenter myPresenter;
private String twob_eda;
private String twob_edb;

@Override
protected void initData() {

    activity2_but2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            twob_eda = activity2_edita.getText().toString().trim();
            Log.i("map","mapa"+twob_eda);
            twob_edb = activity2_editb.getText().toString().trim();
            Log.i("map","mapb"+twob_edb);

            Map<String,String>map=new HashMap<>();
            map.put("phone", twob_eda);
            map.put("pwd", twob_edb);

            myPresenter.toRequest("http://172.17.8.100/small/user/v1/register",map);

        }
    });
}

@Override
protected void initView() {
    activity2_edita=findViewById(R.id.activity2_edita);
    activity2_editb=findViewById(R.id.activity2_editb);
    activity2_but2=findViewById(R.id.activity2_but2);//注册
}

@Override
protected int Layout() {
    return R.layout.activity_main2;
}

@Override
protected BasePresneter PLayout() {
    myPresenter = new MyPresenter();
    return myPresenter;
}


@Override
public void success(String json) {
    Gson gson=new Gson();
    Shop shop = gson.fromJson(json, Shop.class);
    String zc = shop.getStatus();
    Toast.makeText(this, "s"+zc, Toast.LENGTH_SHORT).show();
    if (zc.equals("0000")||zc.equals("1001")){
        Intent intent=new Intent(Main2Activity.this,MainActivity.class);
        intent.putExtra("phone", twob_eda);
        intent.putExtra("pwd", twob_edb);
        setResult(2000, intent);
        finish();
    }
}

}
登录3
在这里插入图片描述
折线图
public class MyView extends View {
private int width;// 宽
private int height;// 高
private Paint linePaint;// 线条画笔
private Paint textPaint;// 横坐标画笔
private Paint pointPaint;//点的坐标
private Context context;

public MyView(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.context = context;
    init();
}

private void init() {
    //画笔 X轴
    linePaint = new Paint();
    linePaint.setStyle(Paint.Style.FILL);
    linePaint.setColor(Color.RED);
    linePaint.setAntiAlias(true);
    linePaint.setStrokeWidth((float) 2.0);

    //文字画笔
    textPaint = new Paint();
    textPaint.setTextAlign(Paint.Align.CENTER);
    textPaint.setStyle(Paint.Style.FILL);
    textPaint.setColor(Color.RED);
    textPaint.setAntiAlias(true);

// textPaint.setTextSize(ScreenUtil.getDpToPx(context, 10));

    //文字画笔
    pointPaint = new Paint();
    pointPaint.setTextAlign(Paint.Align.CENTER);
    pointPaint.setStyle(Paint.Style.FILL);
    pointPaint.setColor(Color.RED);
    pointPaint.setAntiAlias(true);

// pointPaint.setTextSize(ScreenUtil.getDpToPx(context, 20));
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    width = MeasureSpec.getSize(widthMeasureSpec);
    height = MeasureSpec.getSize(heightMeasureSpec);
    Log.e("width", "宽:" + width);
    Log.e("height", "高:" + height);
    setMeasuredDimension(width, height);
}

protected float[][] points = new float[][]{{1, 10}, {2, 47}, {3, 11}, {4, 38}, {5, 9}, {6, 52}, {7, 14}, {8, 37}, {9, 29}, {10, 31}};

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    //平移坐标原点
    canvas.translate(50, height - 50);

    //有多少条数据,把X轴分成多少份,
    drawLineXAxis(canvas);

    drawLineYAxis(canvas);

    drawLinePoints(canvas);
}

float pointX = 0;
float pointY = 0;

private void drawLinePoints(Canvas canvas) {
    float pointXTemp = 0;
    float pointYTemp = 0;

    for (int i = 0; i < points.length; i++) {

        float temp = points[i][0] % points.length;

        if (temp == 0) {
            pointX = 0 + (points[i][0]) * ((width - 100) / points.length);
        } else {
            pointX = 0 + (points[i][0] % points.length) * ((width - 100) / points.length);
        }

        pointY = 0 - (points[i][1] / 60) * ((height - 100));
        canvas.drawCircle(pointX, pointY, 5, pointPaint);
        canvas.drawText(i + 1 + "", pointX - 10, pointY - 10, pointPaint);
        canvas.drawText("(" + ((int) points[i][0] + "," + (int) points[i][1]) + ")", pointX - 20, pointY - 20, textPaint);
        if (i != 0) {
            canvas.drawLine(pointXTemp, pointYTemp, pointX, pointY, linePaint);
        }
        pointXTemp = pointX;
        pointYTemp = pointY;

    }
}

private void drawLineYAxis(Canvas canvas) {
    int startX = 0;
    int startY = 0;
    int spaceing = (height - 100) / points.length;
    //每次画一小段
    for (int i = 0; (startY + spaceing * i) < height - 50; i++) {

        canvas.drawLine(startX, startY, startX, startY - spaceing * i, linePaint);
        canvas.drawCircle(startX, startY - spaceing * i, 5, linePaint);

        canvas.drawText(6 * i + "", startX - 30, startY - spaceing * i, textPaint);
    }
}

private void drawLineXAxis(Canvas canvas) {
    int startX = 0;
    int startY = 0;
    int spaceing = (width - 100) / points.length;
    //每次画一小段
    for (int i = 0; (startX + spaceing * i) < width - 50; i++) {

        canvas.drawLine(startX, startY, startX + spaceing * i, startY, linePaint);
        canvas.drawCircle(startX + spaceing * i, startY, 5, linePaint);

        canvas.drawText(i + 0 + "", startX + spaceing * i, startY + 30, textPaint);
    }
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值