首页>代码>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日

最近浏览
