gitextract_9o6qzmer/ ├── .gitignore ├── .idea/ │ ├── gradle.xml │ ├── markdown-navigator/ │ │ └── profiles_settings.xml │ ├── markdown-navigator.xml │ ├── misc.xml │ ├── modules.xml │ ├── runConfigurations.xml │ └── vcs.xml ├── MPChartLib/ │ ├── .gitignore │ ├── .settings/ │ │ └── gradle/ │ │ └── org.springsource.ide.eclipse.gradle.core.prefs │ ├── build.gradle │ ├── pom.xml │ ├── proguard-project.txt │ ├── project.properties │ ├── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── github/ │ │ │ └── mikephil/ │ │ │ └── charting/ │ │ │ ├── animation/ │ │ │ │ ├── ChartAnimator.java │ │ │ │ ├── Easing.java │ │ │ │ └── EasingFunction.java │ │ │ ├── buffer/ │ │ │ │ ├── AbstractBuffer.java │ │ │ │ ├── BarBuffer.java │ │ │ │ └── HorizontalBarBuffer.java │ │ │ ├── charts/ │ │ │ │ ├── BarChart.java │ │ │ │ ├── BarLineChartBase.java │ │ │ │ ├── BubbleChart.java │ │ │ │ ├── CandleStickChart.java │ │ │ │ ├── Chart.java │ │ │ │ ├── CombinedChart.java │ │ │ │ ├── HorizontalBarChart.java │ │ │ │ ├── LineChart.java │ │ │ │ ├── PieChart.java │ │ │ │ ├── PieRadarChartBase.java │ │ │ │ ├── RadarChart.java │ │ │ │ └── ScatterChart.java │ │ │ ├── components/ │ │ │ │ ├── AxisBase.java │ │ │ │ ├── ComponentBase.java │ │ │ │ ├── Description.java │ │ │ │ ├── IMarker.java │ │ │ │ ├── Legend.java │ │ │ │ ├── LegendEntry.java │ │ │ │ ├── LimitLine.java │ │ │ │ ├── MarkerImage.java │ │ │ │ ├── MarkerView.java │ │ │ │ ├── XAxis.java │ │ │ │ └── YAxis.java │ │ │ ├── data/ │ │ │ │ ├── BarData.java │ │ │ │ ├── BarDataSet.java │ │ │ │ ├── BarEntry.java │ │ │ │ ├── BarLineScatterCandleBubbleData.java │ │ │ │ ├── BarLineScatterCandleBubbleDataSet.java │ │ │ │ ├── BaseDataSet.java │ │ │ │ ├── BaseEntry.java │ │ │ │ ├── BubbleData.java │ │ │ │ ├── BubbleDataSet.java │ │ │ │ ├── BubbleEntry.java │ │ │ │ ├── CandleData.java │ │ │ │ ├── CandleDataSet.java │ │ │ │ ├── CandleEntry.java │ │ │ │ ├── ChartData.java │ │ │ │ ├── CombinedData.java │ │ │ │ ├── DataSet.java │ │ │ │ ├── Entry.java │ │ │ │ ├── LineData.java │ │ │ │ ├── LineDataSet.java │ │ │ │ ├── LineRadarDataSet.java │ │ │ │ ├── LineScatterCandleRadarDataSet.java │ │ │ │ ├── PieData.java │ │ │ │ ├── PieDataSet.java │ │ │ │ ├── PieEntry.java │ │ │ │ ├── RadarData.java │ │ │ │ ├── RadarDataSet.java │ │ │ │ ├── RadarEntry.java │ │ │ │ ├── ScatterData.java │ │ │ │ ├── ScatterDataSet.java │ │ │ │ └── filter/ │ │ │ │ └── Approximator.java │ │ │ ├── exception/ │ │ │ │ └── DrawingDataSetNotCreatedException.java │ │ │ ├── formatter/ │ │ │ │ ├── ColorFormatter.java │ │ │ │ ├── DefaultAxisValueFormatter.java │ │ │ │ ├── DefaultFillFormatter.java │ │ │ │ ├── DefaultValueFormatter.java │ │ │ │ ├── IAxisValueFormatter.java │ │ │ │ ├── IFillFormatter.java │ │ │ │ ├── IValueFormatter.java │ │ │ │ ├── IndexAxisValueFormatter.java │ │ │ │ ├── LargeValueFormatter.java │ │ │ │ ├── PercentFormatter.java │ │ │ │ └── StackedValueFormatter.java │ │ │ ├── highlight/ │ │ │ │ ├── BarHighlighter.java │ │ │ │ ├── ChartHighlighter.java │ │ │ │ ├── CombinedHighlighter.java │ │ │ │ ├── Highlight.java │ │ │ │ ├── HorizontalBarHighlighter.java │ │ │ │ ├── IHighlighter.java │ │ │ │ ├── PieHighlighter.java │ │ │ │ ├── PieRadarHighlighter.java │ │ │ │ ├── RadarHighlighter.java │ │ │ │ └── Range.java │ │ │ ├── interfaces/ │ │ │ │ ├── dataprovider/ │ │ │ │ │ ├── BarDataProvider.java │ │ │ │ │ ├── BarLineScatterCandleBubbleDataProvider.java │ │ │ │ │ ├── BubbleDataProvider.java │ │ │ │ │ ├── CandleDataProvider.java │ │ │ │ │ ├── ChartInterface.java │ │ │ │ │ ├── CombinedDataProvider.java │ │ │ │ │ ├── LineDataProvider.java │ │ │ │ │ └── ScatterDataProvider.java │ │ │ │ └── datasets/ │ │ │ │ ├── IBarDataSet.java │ │ │ │ ├── IBarLineScatterCandleBubbleDataSet.java │ │ │ │ ├── IBubbleDataSet.java │ │ │ │ ├── ICandleDataSet.java │ │ │ │ ├── IDataSet.java │ │ │ │ ├── ILineDataSet.java │ │ │ │ ├── ILineRadarDataSet.java │ │ │ │ ├── ILineScatterCandleRadarDataSet.java │ │ │ │ ├── IPieDataSet.java │ │ │ │ ├── IRadarDataSet.java │ │ │ │ └── IScatterDataSet.java │ │ │ ├── jobs/ │ │ │ │ ├── AnimatedMoveViewJob.java │ │ │ │ ├── AnimatedViewPortJob.java │ │ │ │ ├── AnimatedZoomJob.java │ │ │ │ ├── MoveViewJob.java │ │ │ │ ├── ViewPortJob.java │ │ │ │ └── ZoomJob.java │ │ │ ├── listener/ │ │ │ │ ├── BarLineChartTouchListener.java │ │ │ │ ├── ChartTouchListener.java │ │ │ │ ├── OnChartGestureListener.java │ │ │ │ ├── OnChartValueSelectedListener.java │ │ │ │ ├── OnDrawLineChartTouchListener.java │ │ │ │ ├── OnDrawListener.java │ │ │ │ └── PieRadarChartTouchListener.java │ │ │ ├── matrix/ │ │ │ │ └── Vector3.java │ │ │ ├── renderer/ │ │ │ │ ├── AxisRenderer.java │ │ │ │ ├── BarChartRenderer.java │ │ │ │ ├── BarLineScatterCandleBubbleRenderer.java │ │ │ │ ├── BubbleChartRenderer.java │ │ │ │ ├── CandleStickChartRenderer.java │ │ │ │ ├── CombinedChartRenderer.java │ │ │ │ ├── DataRenderer.java │ │ │ │ ├── HorizontalBarChartRenderer.java │ │ │ │ ├── LegendRenderer.java │ │ │ │ ├── LineChartRenderer.java │ │ │ │ ├── LineRadarRenderer.java │ │ │ │ ├── LineScatterCandleRadarRenderer.java │ │ │ │ ├── PieChartRenderer.java │ │ │ │ ├── RadarChartRenderer.java │ │ │ │ ├── Renderer.java │ │ │ │ ├── ScatterChartRenderer.java │ │ │ │ ├── XAxisRenderer.java │ │ │ │ ├── XAxisRendererHorizontalBarChart.java │ │ │ │ ├── XAxisRendererRadarChart.java │ │ │ │ ├── YAxisRenderer.java │ │ │ │ ├── YAxisRendererHorizontalBarChart.java │ │ │ │ ├── YAxisRendererRadarChart.java │ │ │ │ └── scatter/ │ │ │ │ ├── ChevronDownShapeRenderer.java │ │ │ │ ├── ChevronUpShapeRenderer.java │ │ │ │ ├── CircleShapeRenderer.java │ │ │ │ ├── CrossShapeRenderer.java │ │ │ │ ├── IShapeRenderer.java │ │ │ │ ├── SquareShapeRenderer.java │ │ │ │ ├── TriangleShapeRenderer.java │ │ │ │ └── XShapeRenderer.java │ │ │ └── utils/ │ │ │ ├── ColorTemplate.java │ │ │ ├── EntryXComparator.java │ │ │ ├── FSize.java │ │ │ ├── FileUtils.java │ │ │ ├── HorizontalViewPortHandler.java │ │ │ ├── MPPointD.java │ │ │ ├── MPPointF.java │ │ │ ├── ObjectPool.java │ │ │ ├── Transformer.java │ │ │ ├── TransformerHorizontalBarChart.java │ │ │ ├── Utils.java │ │ │ └── ViewPortHandler.java │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── github/ │ │ └── mikephil/ │ │ └── charting/ │ │ └── test/ │ │ ├── ApproximatorTest.java │ │ ├── AxisRendererTest.java │ │ ├── BarDataTest.java │ │ ├── ChartDataTest.java │ │ ├── DataSetTest.java │ │ ├── LargeValueFormatterTest.java │ │ └── ObjectPoolTest.java │ └── 说明.txt ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── cn/ │ │ └── laplacetech/ │ │ └── android/ │ │ └── laplacekline/ │ │ └── ExampleInstrumentedTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── cn/ │ │ │ └── laplacetech/ │ │ │ └── android/ │ │ │ └── laplacekline/ │ │ │ └── MainActivity.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── raw/ │ │ │ ├── fifteen_minutes.json │ │ │ ├── five_minutes.json │ │ │ ├── four_hours.json │ │ │ ├── one_hour.json │ │ │ ├── one_minute.json │ │ │ ├── oneday.json │ │ │ └── twelve_hours.json │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test/ │ └── java/ │ └── cn/ │ └── laplacetech/ │ └── android/ │ └── laplacekline/ │ └── ExampleUnitTest.kt ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── klinelib/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── cn/ │ │ └── laplacetech/ │ │ └── klinelib/ │ │ └── ExampleInstrumentedTest.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── cn/ │ │ │ └── laplacetech/ │ │ │ └── klinelib/ │ │ │ ├── chart/ │ │ │ │ ├── BarChartRenderer.kt │ │ │ │ ├── BaseView.kt │ │ │ │ ├── BubbleChartRenderer.kt │ │ │ │ ├── CandleStickChartRenderer.kt │ │ │ │ ├── ChartInfoView.kt │ │ │ │ ├── ChartInfoViewHandler.kt │ │ │ │ ├── ColorContentYAxisRenderer.kt │ │ │ │ ├── CoupleChartGestureListener.kt │ │ │ │ ├── CustomCombinedChart.kt │ │ │ │ ├── CustomCombinedChartRenderer.kt │ │ │ │ ├── CustomLineChart.kt │ │ │ │ ├── CustomLineChartRenderer.kt │ │ │ │ ├── InfoViewListener.kt │ │ │ │ ├── KLineChartInfoView.kt │ │ │ │ ├── KLineView.kt │ │ │ │ ├── LineChartInfoView.kt │ │ │ │ ├── LineChartRenderer.kt │ │ │ │ ├── LineChartXMarkerView.kt │ │ │ │ ├── LineChartYMarkerView.kt │ │ │ │ ├── OnLoadMoreListener.kt │ │ │ │ ├── ScatterChartRenderer.kt │ │ │ │ ├── TickChart.kt │ │ │ │ └── TimeLineView.kt │ │ │ ├── model/ │ │ │ │ ├── HisData.kt │ │ │ │ ├── KDJ.kt │ │ │ │ ├── MACD.kt │ │ │ │ └── RSV.kt │ │ │ ├── util/ │ │ │ │ ├── DataUtils.kt │ │ │ │ ├── DateUtils.kt │ │ │ │ ├── DisplayUtils.kt │ │ │ │ ├── DoubleUtil.kt │ │ │ │ └── Extension.kt │ │ │ └── view/ │ │ │ ├── KLineMarkView.kt │ │ │ └── VolumeMarkView.kt │ │ └── res/ │ │ ├── layout/ │ │ │ ├── markview_volume.xml │ │ │ ├── view_kline.xml │ │ │ ├── view_kline_chart_info.xml │ │ │ ├── view_line_chart_info.xml │ │ │ ├── view_mp_line_chart.xml │ │ │ ├── view_mp_real_price_marker.xml │ │ │ └── view_timeline.xml │ │ └── values/ │ │ ├── attr.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ └── strings.xml │ └── test/ │ └── java/ │ └── cn/ │ └── laplacetech/ │ └── klinelib/ │ └── ExampleUnitTest.kt └── settings.gradle