开源项目Chart

7 篇文章 0 订阅
2 篇文章 0 订阅

开源项目chart,使用knife butter

package com.hb.bottomlast;

import android.content.res.Resources;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.hrules.charter.CharterLine;
import com.hrules.charter.CharterXLabels;
import com.hrules.charter.CharterXMarkers;
import com.hrules.charter.CharterYLabels;
import com.hrules.charter.CharterYMarkers;

import java.util.Arrays;
import java.util.Random;

import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * Created by uname on 2016/08/29 0029.
 */
public class Persion2_fragment extends Fragment {
    @BindView(R.id.charter_line)
    CharterLine charterLine;
    @BindView(R.id.charter_line_XLabel)
    CharterXLabels charterLineLabelX;
    @BindView(R.id.charter_line_with_XLabel)
    CharterLine charterLineWithLabel;
    @BindView(R.id.charter_line_YLabel)
    CharterYLabels charterLineYLabel;
    @BindView(R.id.charter_line_with_XMarker)
    CharterLine charterLineWithXMarker;
    @BindView(R.id.charter_line_XMarker)
    CharterXMarkers charterLineXMarkers;
    @BindView(R.id.charter_line_with_YMarker)
    CharterLine charterLineWithYMarker;
    @BindView(R.id.charter_line_YMarker)
    CharterYMarkers charterLineYMarkers;

    @BindView(R.id.ychart)
    CharterYLabels ychart;

    private static final int DEFAULT_ITEMS_COUNT = 7;
    private static final int DEFAULT_RANDOM_VALUE_MIN = 10;
    private static final int DEFAULT_RANDOM_VALUE_MAX = 100;

    private float[] values;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        //super.onCreate(savedInstanceState);
        super.onCreate(savedInstanceState);

        View view = inflater.inflate(R.layout.persion4, container, false);

        ButterKnife.bind(this,view);


        Resources res = getResources();
        int[] barColors = new int[]{
                res.getColor(R.color.colorAccent), res.getColor(R.color.colorAccent),
                res.getColor(R.color.colorAccent)
        };



        // charter_line_XLabel
        charterLineLabelX.setStickyEdges(true);
        String[] values3 = {"a", "4", "5", "7", "6", "3", "6"};
        //设置X的值
        charterLineLabelX.setValues(values3);
        // String[] values2={"1","6","5","4","3","2","7"};
        String[] values5 = {"1", "2", "3", "4", "5", "6", "7"};

        //设置y轴的值,因为顺序不对,所以要重新排序。
        String[] values2 = this.getRightValues(values5);
        Log.d("values2", Arrays.toString(values2));
        ychart.setValues(values2);

        final float[] values4 = {1, 3, 3.5f, 4, 5, 6, 7};
        final float[] values6 = {1, 2, 2.5f, 1, 2, 3, 1};
        //设置显示的值,可以float
        charterLineWithLabel.setValues(values4);
        charterLineWithLabel.setValues(values6);

        //点击图表的onclick,如果图表太大的话后期可以加。
        charterLineWithLabel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                values = fillRandomValues(DEFAULT_ITEMS_COUNT, DEFAULT_RANDOM_VALUE_MAX,
//                        DEFAULT_RANDOM_VALUE_MIN);

                charterLineWithLabel.setValues(values4);
                charterLineWithLabel.show();
                ychart.setValues(values4);
                charterLineLabelX.setValues(values4);
            }
        });
        return view;
    }



    private float[] fillRandomValues(int length, int max, int min) {
        Random random = new Random();

        float[] newRandomValues = new float[length];
        for (int i = 0; i < newRandomValues.length; i++) {
            //newRandomValues[i] = random.nextInt(max - min + 1) - min;

            newRandomValues[i]=i;
        }
        return newRandomValues;
    }
    //排序之后,得到正确的顺序
    public String[] getRightValues(String[] valuesPar) {
        String[] test = new String[valuesPar.length];
        for (int i = 0; i < valuesPar.length; i++) {

            if (i == 0||i==(valuesPar.length-1)){
                test[i] = valuesPar[i];
                continue;
            }
            test[i]=valuesPar[valuesPar.length-1-i];
        }
        return test;
    }
}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值