首页>代码>android客户端专业股票k线图>/KChartView-master/kchart/Example/src/main/java/com/github/tifezh/kchart/ExampleActivity.java
package com.github.tifezh.kchart;

import android.content.res.Configuration;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;

import com.github.tifezh.kchart.chart.KChartAdapter;
import com.github.tifezh.kchart.chart.KChartView;
import com.github.tifezh.kchart.chart.KLineEntity;
import com.github.tifezh.kchartlib.chart.formatter.DateFormatter;
import com.github.tifezh.kchartlib.chart.impl.IKChartView;
import com.github.tifezh.kchartlib.utils.ViewUtil;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import org.apache.http.util.EncodingUtils;

import java.io.InputStream;
import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;

public class ExampleActivity extends AppCompatActivity {

    @Bind(R.id.ll_status)
    LinearLayout mLlStatus;
    @Bind(R.id.kchart_view)
    KChartView mKChartView;
    @Bind(R.id.title_view)
    RelativeLayout mTitleView;
    private KChartAdapter mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_example);
        ButterKnife.bind(this);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window window = getWindow();
            window.setFlags(
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                    WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        }
        initView();
        initData();
    }

    private void initView() {
        mAdapter = new KChartAdapter();
        mKChartView.setAdapter(mAdapter);
        mKChartView.setDateTimeFormatter(new DateFormatter());
        mKChartView.setGridRows(4);
        mKChartView.setGridColumns(4);
        mKChartView.setOnSelectedChangedListener(new IKChartView.OnSelectedChangedListener() {
            @Override
            public void onSelectedChanged(IKChartView view, Object point, int index) {
                KLineEntity data = (KLineEntity) point;
                Log.i("onSelectedChanged", "index:" + index + " closePrice:" + data.getClosePrice());
            }
        });
        mKChartView.setOverScrollRange(ViewUtil.Dp2Px(this, 100));
    }

    private void initData() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                String fileName = "ibm.json"; //k线图的数据
                String res = "";
                try {
                    InputStream in = getResources().getAssets().open(fileName);
                    int length = in.available();
                    byte[] buffer = new byte[length];
                    in.read(buffer);
                    res = EncodingUtils.getString(buffer, "UTF-8");
                } catch (Exception e) {
                    e.printStackTrace();
                }
                final List<KLineEntity> data = new Gson().fromJson(res, new TypeToken<List<KLineEntity>>() {
                }.getType());
                DataHelper.calculate(data);
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mAdapter.addFooterData(data);
                        mKChartView.startAnimation();
                    }
                });
            }
        }).start();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            mLlStatus.setVisibility(View.GONE);
            mKChartView.setGridRows(3);
            mKChartView.setGridColumns(8);
        } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
            mLlStatus.setVisibility(View.VISIBLE);
            mKChartView.setGridRows(4);
            mKChartView.setGridColumns(4);
        }
    }
}
最近下载更多
lizeng206  LV1 2022年11月16日
windygzf  LV1 2022年1月3日
sianhxyeiangu  LV14 2020年6月14日
没骨气的鱼  LV4 2020年6月6日
花花滑滑画画瓜瓜  LV9 2020年1月9日
陈大美女  LV1 2020年1月2日
13964652858  LV1 2019年5月8日
zyl891027  LV1 2019年1月12日
凌乱18181  LV2 2018年12月7日
xinghunbuxiu  LV1 2018年11月19日
最近浏览更多
人间蒸发  LV23 4月26日
北方农夫  LV1 2024年8月31日
interface  LV22 2024年8月10日
17693282606  LV12 2024年6月20日
wxb666  LV3 2024年3月13日
davidlee2015  LV6 2024年1月12日
yyyyyyzh  LV8 2023年6月11日
ljg1011 2023年2月24日
暂无贡献等级
123aaab 2023年2月12日
暂无贡献等级
快乐的程序员  LV25 2023年1月21日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友