Android Open Source - customhellochartdemo Column Chart View From Project Back to project page customhellochartdemo .
License The source code is released under:
Apache License
If you think the Android project customhellochartdemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package lecho.lib.hellocharts.view;
/ * f r o m w w w . j a v a 2 s . c o m * /
import lecho.lib.hellocharts.BuildConfig;
import lecho.lib.hellocharts.model.ColumnChartData;
import lecho.lib.hellocharts.model.ColumnValue;
import lecho.lib.hellocharts.model.SelectedValue;
import lecho.lib.hellocharts.provider.ColumnChartDataProvider;
import lecho.lib.hellocharts.renderer.ColumnChartRenderer;
import android.content.Context;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
/**
* ColumnChart/BarChart, supports subcolumns, stacked collumns and negative values.
*
* @author Leszek Wach
*
*/
public class ColumnChartView extends AbstractChartView implements ColumnChartDataProvider {
private static final String TAG = "ColumnChartView" ;
private ColumnChartData data;
private ColumnChartOnValueTouchListener onValueTouchListener = new DummyOnValueTouchListener();
public ColumnChartView(Context context) {
this (context, null, 0);
}
public ColumnChartView(Context context, AttributeSet attrs) {
this (context, attrs, 0);
}
public ColumnChartView(Context context, AttributeSet attrs, int defStyle) {
super (context, attrs, defStyle);
chartRenderer = new ColumnChartRenderer(context, this , this );
setColumnChartData(ColumnChartData.generateDummyData());
}
@Override
public ColumnChartData getColumnChartData() {
return data;
}
@Override
public void setColumnChartData(ColumnChartData data) {
if (BuildConfig.DEBUG) {
Log.d(TAG, "Setting data for ColumnChartView" );
}
if (null == data) {
this.data = ColumnChartData.generateDummyData();
} else {
this.data = data;
}
axesRenderer.initAxesAttributes();
chartRenderer.initDataAttributes();
chartRenderer.initMaxViewport();
chartRenderer.initCurrentViewport();
ViewCompat.postInvalidateOnAnimation(ColumnChartView.this);
}
@Override
public ColumnChartData getChartData() {
return data;
}
@Override
public void callTouchListener() {
SelectedValue selectedValue = chartRenderer.getSelectedValue();
if (selectedValue.isSet()) {
ColumnValue value = data.getColumns().get(selectedValue.getFirstIndex()).getValues()
.get(selectedValue.getSecondIndex());
onValueTouchListener.onValueTouched(selectedValue.getFirstIndex(), selectedValue.getSecondIndex(), value);
} else {
onValueTouchListener.onNothingTouched();
}
}
public ColumnChartOnValueTouchListener getOnValueTouchListener() {
return onValueTouchListener;
}
public void setOnValueTouchListener(ColumnChartOnValueTouchListener touchListener) {
if (null == touchListener) {
this.onValueTouchListener = new DummyOnValueTouchListener();
} else {
this.onValueTouchListener = touchListener;
}
}
public interface ColumnChartOnValueTouchListener {
public void onValueTouched(int selectedLine, int selectedValue, ColumnValue point);
public void onNothingTouched();
}
private static class DummyOnValueTouchListener implements ColumnChartOnValueTouchListener {
@Override
public void onValueTouched(int selectedLine, int selectedValue, ColumnValue value) {
}
@Override
public void onNothingTouched() {
}
}
}
Java Source Code List lecho.lib.hellocharts.ChartComputator.java lecho.lib.hellocharts.DummyChartAnimationListener.java lecho.lib.hellocharts.DummyVieportChangeListener.java lecho.lib.hellocharts.PreviewChartComputator.java lecho.lib.hellocharts.ViewportChangeListener.java lecho.lib.hellocharts.animation.ChartAnimationListener.java lecho.lib.hellocharts.animation.ChartDataAnimatorV14.java lecho.lib.hellocharts.animation.ChartDataAnimatorV8.java lecho.lib.hellocharts.animation.ChartDataAnimator.java lecho.lib.hellocharts.animation.ChartViewportAnimatorV14.java lecho.lib.hellocharts.animation.ChartViewportAnimatorV8.java lecho.lib.hellocharts.animation.ChartViewportAnimator.java lecho.lib.hellocharts.animation.PieChartRotationAnimatorV14.java lecho.lib.hellocharts.animation.PieChartRotationAnimatorV8.java lecho.lib.hellocharts.animation.PieChartRotationAnimator.java lecho.lib.hellocharts.gesture.ChartScroller.java lecho.lib.hellocharts.gesture.ChartTouchHandler.java lecho.lib.hellocharts.gesture.ChartZoomer.java lecho.lib.hellocharts.gesture.ContainerScrollType.java lecho.lib.hellocharts.gesture.PieChartTouchHandler.java lecho.lib.hellocharts.gesture.PreviewChartTouchHandler.java lecho.lib.hellocharts.gesture.ZoomType.java lecho.lib.hellocharts.gesture.ZoomerCompat.java lecho.lib.hellocharts.model.AbstractChartData.java lecho.lib.hellocharts.model.ArcValue.java lecho.lib.hellocharts.model.AxisValue.java lecho.lib.hellocharts.model.Axis.java lecho.lib.hellocharts.model.BubbleChartData.java lecho.lib.hellocharts.model.BubbleValue.java lecho.lib.hellocharts.model.ChartData.java lecho.lib.hellocharts.model.ColumnChartData.java lecho.lib.hellocharts.model.ColumnValue.java lecho.lib.hellocharts.model.Column.java lecho.lib.hellocharts.model.ComboLineColumnChartData.java lecho.lib.hellocharts.model.LineChartData.java lecho.lib.hellocharts.model.Line.java lecho.lib.hellocharts.model.PieChartData.java lecho.lib.hellocharts.model.PointValue.java lecho.lib.hellocharts.model.SelectedValue.java lecho.lib.hellocharts.model.SimpleValueFormatter.java lecho.lib.hellocharts.model.ValueFormatter.java lecho.lib.hellocharts.model.ValueShape.java lecho.lib.hellocharts.model.Viewport.java lecho.lib.hellocharts.provider.BubbleChartDataProvider.java lecho.lib.hellocharts.provider.ColumnChartDataProvider.java lecho.lib.hellocharts.provider.ComboLineColumnChartDataProvider.java lecho.lib.hellocharts.provider.LineChartDataProvider.java lecho.lib.hellocharts.provider.PieChartDataProvider.java lecho.lib.hellocharts.renderer.AbstractChartRenderer.java lecho.lib.hellocharts.renderer.AxesRenderer.java lecho.lib.hellocharts.renderer.BubbleChartRenderer.java lecho.lib.hellocharts.renderer.ChartRenderer.java lecho.lib.hellocharts.renderer.ColumnChartRenderer.java lecho.lib.hellocharts.renderer.ComboLineColumnChartRenderer.java lecho.lib.hellocharts.renderer.LineChartRenderer.java lecho.lib.hellocharts.renderer.PieChartRenderer.java lecho.lib.hellocharts.renderer.PreviewColumnChartRenderer.java lecho.lib.hellocharts.renderer.PreviewLineChartRenderer.java lecho.lib.hellocharts.samples.AboutActivity.java lecho.lib.hellocharts.samples.BrokenLineChartActivity.java lecho.lib.hellocharts.samples.BrokenLineView.java lecho.lib.hellocharts.samples.BubbleChartActivity.java lecho.lib.hellocharts.samples.ColumnChartActivity.java lecho.lib.hellocharts.samples.ComboLineColumnChartActivity.java lecho.lib.hellocharts.samples.GoodBadChartActivity.java lecho.lib.hellocharts.samples.LineChartActivity.java lecho.lib.hellocharts.samples.LineColumnDependencyActivity.java lecho.lib.hellocharts.samples.MainActivity.java lecho.lib.hellocharts.samples.PieChartActivity.java lecho.lib.hellocharts.samples.PreviewColumnChartActivity.java lecho.lib.hellocharts.samples.PreviewLineChartActivity.java lecho.lib.hellocharts.samples.SpeedChartActivity.java lecho.lib.hellocharts.samples.TempoChartActivity.java lecho.lib.hellocharts.samples.ViewPagerChartsActivity.java lecho.lib.hellocharts.util.AxisAutoValues.java lecho.lib.hellocharts.util.Utils.java lecho.lib.hellocharts.view.AbstractChartView.java lecho.lib.hellocharts.view.BubbleChartView.java lecho.lib.hellocharts.view.Chart.java lecho.lib.hellocharts.view.ColumnChartView.java lecho.lib.hellocharts.view.ComboLineColumnChartView.java lecho.lib.hellocharts.view.LineChartView.java lecho.lib.hellocharts.view.PieChartView.java lecho.lib.hellocharts.view.PreviewColumnChartView.java lecho.lib.hellocharts.view.PreviewLineChartView.java lecho.lib.hellocharts.view.hack.HackyDrawerLayout.java lecho.lib.hellocharts.view.hack.HackyViewPager.java