| package com.xxmassdeveloper.mpchartexample.fragments; |
| import android.graphics.Typeface; |
| import android.os.Bundle; |
| import android.support.v4.app.Fragment; |
| import android.util.Log; |
| import android.view.LayoutInflater; |
| import android.view.MotionEvent; |
| import android.view.View; |
| import android.view.ViewGroup; |
| import android.widget.FrameLayout; |
| |
| import com.github.mikephil.charting.charts.BarChart; |
| import com.github.mikephil.charting.components.Legend; |
| import com.github.mikephil.charting.components.XAxis; |
| import com.github.mikephil.charting.components.YAxis; |
| import com.github.mikephil.charting.listener.ChartTouchListener; |
| import com.github.mikephil.charting.listener.OnChartGestureListener; |
| import com.xxmassdeveloper.mpchartexample.R; |
| import com.xxmassdeveloper.mpchartexample.custom.MyMarkerView; |
| |
| |
| public class BarChartFrag extends SimpleFragment implements OnChartGestureListener { |
| |
| public static Fragment newInstance() { |
| return new BarChartFrag(); |
| } |
| |
| private BarChart mChart; |
| |
| @Override |
| public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { |
| View v = inflater.inflate(R.layout.frag_simple_bar, container, false); |
| |
| // create a new chart object |
| mChart = new BarChart(getActivity()); |
| mChart.setDescription(""); |
| mChart.setOnChartGestureListener(this); |
| |
| MyMarkerView mv = new MyMarkerView(getActivity(), R.layout.custom_marker_view); |
| |
| mChart.setMarkerView(mv); |
| |
| mChart.setDrawGridBackground(false); |
| mChart.setDrawBarShadow(false); |
| |
| Typeface tf = Typeface.createFromAsset(getActivity().getAssets(),"OpenSans-Light.ttf"); |
| |
| mChart.setData(generateBarData(1, 20000, 12)); |
| |
| Legend l = mChart.getLegend(); |
| l.setTypeface(tf); |
| |
| YAxis leftAxis = mChart.getAxisLeft(); |
| leftAxis.setTypeface(tf); |
| |
| mChart.getAxisRight().setEnabled(false); |
| |
| XAxis xAxis = mChart.getXAxis(); |
| xAxis.setEnabled(false); |
| |
| // programatically add the chart |
| FrameLayout parent = (FrameLayout) v.findViewById(R.id.parentLayout); |
| parent.addView(mChart); |
| |
| return v; |
| } |
| |
| @Override |
| public void onChartGestureStart(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) { |
| Log.i("Gesture", "START"); |
| } |
| |
| @Override |
| public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture lastPerformedGesture) { |
| Log.i("Gesture", "END"); |
| mChart.highlightValues(null); |
| } |
| |
| @Override |
| public void onChartLongPressed(MotionEvent me) { |
| Log.i("LongPress", "Chart longpressed."); |
| } |
| |
| @Override |
| public void onChartDoubleTapped(MotionEvent me) { |
| Log.i("DoubleTap", "Chart double-tapped."); |
| } |
| |
| @Override |
| public void onChartSingleTapped(MotionEvent me) { |
| Log.i("SingleTap", "Chart single-tapped."); |
| } |
| |
| @Override |
| public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY) { |
| Log.i("Fling", "Chart flinged. VeloX: " + velocityX + ", VeloY: " + velocityY); |
| } |
| |
| @Override |
| public void onChartScale(MotionEvent me, float scaleX, float scaleY) { |
| Log.i("Scale / Zoom", "ScaleX: " + scaleX + ", ScaleY: " + scaleY); |
| } |
| |
| @Override |
| public void onChartTranslate(MotionEvent me, float dX, float dY) { |
| Log.i("Translate / Move", "dX: " + dX + ", dY: " + dY); |
| } |
| |
| } |