张海江
2017-08-07 957b8e9d4bc63524dad27c2f8458856da0bf5c06
app/src/main/java/com/moral/yunfushao/activity/ChartActivity.java
@@ -2,8 +2,13 @@
import android.graphics.Color;
import android.os.Bundle;
import android.support.annotation.IdRes;
import android.view.View;
import android.widget.ImageView;
import android.widget.RadioGroup;
import android.widget.TextView;
import com.moral.andbrickslib.utils.TimeUtil;
import com.moral.yunfushao.R;
import com.moral.yunfushao.base.BaseActivity;
@@ -34,6 +39,11 @@
    Axis axisY;
    private List<PointValue> mPointValues = new ArrayList<>();
    private List<AxisValue> mAxisXValues = new ArrayList<>();
    private RadioGroup rg_time;
    private TextView tv_starttime,tv_endtime;
    private ImageView iv_pre,iv_next;
    private int type=0;
    @Override
    protected void getBundleExtras(Bundle extras) {
@@ -50,11 +60,43 @@
        tv_title.setText("历史记录");
        chartView = findView(R.id.chart);
        initLineChart();
        rg_time = findView(R.id.rg_time);
        tv_starttime = findView(R.id.tv_starttime);
        tv_endtime = findView(R.id.tv_endtime);
        iv_pre = findView(R.id.iv_pre);
        iv_next = findView(R.id.iv_next);
        rg_time.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) {
                switch (i){
                    case R.id.rb_week:
                        type = 0;
                        axisX.setName("时间段(按周)");  //表格名称
                        data.setAxisXBottom(axisX); //x 轴在底部
                        chartView.setLineChartData(data);
                        tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",TimeUtil.getCurrentDate("yyyy-MM-dd"),-1));
                        tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),-7));
                        break;
                    case R.id.rb_month:
                        type = 1;
                        axisX.setName("时间段(按月)");  //表格名称
                        data.setAxisXBottom(axisX); //x 轴在底部
                        chartView.setLineChartData(data);
                        tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",TimeUtil.getCurrentDate("yyyy-MM-dd"),-1));
                        tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),-28));
                        break;
                }
            }
        });
        tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",TimeUtil.getCurrentDate("yyyy-MM-dd"),-1));
        tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),-7));
    }
    @Override
    protected void initListener() {
        iv_pre.setOnClickListener(this);
        iv_next.setOnClickListener(this);
    }
    @Override
@@ -67,6 +109,27 @@
        switch (view.getId()){
            case R.id.tv_left:
                finish();
                break;
            case R.id.iv_pre:
                if(type==0){
                    tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_starttime.getText().toString(),-1));
                    tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),-7));
                }else if(type == 1){
                    tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_starttime.getText().toString(),-1));
                    tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),-28));
                }
                break;
            case R.id.iv_next:
                if(TimeUtil.getCurrentDate("yyyy-MM-dd").equals(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),1))){
                    return;
                }
                if(type==0){
                    tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),1));
                    tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_starttime.getText().toString(),7));
                }else if(type == 1){
                    tv_starttime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_endtime.getText().toString(),1));
                    tv_endtime.setText(TimeUtil.getAfterDate("yyyy-MM-dd",tv_starttime.getText().toString(),28));
                }
                break;
        }
@@ -98,7 +161,7 @@
        //坐标轴
        axisX = new Axis(); //X轴
        axisX.setHasTiltedLabels(false);  //X坐标轴字体是斜的显示还是直的,true是斜的显示
        axisX.setName("时间段");  //表格名称
        axisX.setName("时间段(按周)");  //表格名称
        axisX.setTextSize(10);//设置字体大小
        axisX.setTextColor(getResources().getColor(R.color.red_txt));
//        axisX.setMaxLabelChars(7); //最多几个X轴坐标,意思就是你的缩放让X轴上数据的个数7<=x<=mAxisXValues.length