From c01565d8cedb0c4addf16dff7820a288a35fd644 Mon Sep 17 00:00:00 2001 From: wangyiqian Date: Thu, 2 Jun 2022 11:04:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=83=8C=E6=99=AF=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E7=BA=BF=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/github/wangyiqian/stockchart/Default.kt | 1 + .../com/github/wangyiqian/stockchart/StockChart.kt | 11 +++++++++-- .../github/wangyiqian/stockchart/StockChartConfig.kt | 11 +++++++++++ samples/build.gradle | 4 ++-- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/lib/src/main/java/com/github/wangyiqian/stockchart/Default.kt b/lib/src/main/java/com/github/wangyiqian/stockchart/Default.kt index c24e7e6..c6a6856 100644 --- a/lib/src/main/java/com/github/wangyiqian/stockchart/Default.kt +++ b/lib/src/main/java/com/github/wangyiqian/stockchart/Default.kt @@ -53,6 +53,7 @@ const val DEFAULT_GRID_HORIZONTAL_LINE_COUNT = 0 const val DEFAULT_GRID_VERTICAL_LINE_COUNT = 0 val DEFAULT_GRID_LINE_COLOR = Color.parseColor("#676767") const val DEFAULT_GRID_LINE_STROKE_WIDTH = 1f +const val DEFAULT_HORIZONTAL_GRID_LINE_LEFT_OFFSET = 0f const val DEFAULT_VALUE_TEND_TO_ZERO = 0.0001f // K线图 diff --git a/lib/src/main/java/com/github/wangyiqian/stockchart/StockChart.kt b/lib/src/main/java/com/github/wangyiqian/stockchart/StockChart.kt index 827caa8..9f53f00 100644 --- a/lib/src/main/java/com/github/wangyiqian/stockchart/StockChart.kt +++ b/lib/src/main/java/com/github/wangyiqian/stockchart/StockChart.kt @@ -273,13 +273,20 @@ class StockChart @JvmOverloads constructor(context: Context, attrs: AttributeSet private fun drawBackgroundGrid(canvas: Canvas) { backgroundGridPaint.color = config.gridLineColor backgroundGridPaint.strokeWidth = config.gridLineStrokeWidth + backgroundGridPaint.pathEffect = config.gridLinePathEffect if (config.gridHorizontalLineCount > 0) { val space = height.toFloat() / (config.gridHorizontalLineCount + 1) - var top = space + var top = config.horizontalGridLineTopOffset ?: space for (i in 1..config.gridHorizontalLineCount) { - canvas.drawLine(0f, top, width.toFloat(), top, backgroundGridPaint) + canvas.drawLine( + config.horizontalGridLineLeftOffset, + top, + width.toFloat(), + top, + backgroundGridPaint + ) top += space } diff --git a/lib/src/main/java/com/github/wangyiqian/stockchart/StockChartConfig.kt b/lib/src/main/java/com/github/wangyiqian/stockchart/StockChartConfig.kt index bea5be6..798737d 100644 --- a/lib/src/main/java/com/github/wangyiqian/stockchart/StockChartConfig.kt +++ b/lib/src/main/java/com/github/wangyiqian/stockchart/StockChartConfig.kt @@ -13,6 +13,8 @@ package com.github.wangyiqian.stockchart +import android.graphics.DashPathEffect +import android.graphics.PathEffect import androidx.annotation.ColorInt import com.github.wangyiqian.stockchart.childchart.base.* import com.github.wangyiqian.stockchart.entities.IKEntity @@ -130,6 +132,15 @@ class StockChartConfig { // 背景网格线条宽度 var gridLineStrokeWidth = DEFAULT_GRID_LINE_STROKE_WIDTH + // 背景网格线条虚线配置 + var gridLinePathEffect: PathEffect? = null + + // 背景网格第一条线的顶部偏移量,默认是高度按照网格线数量平均分后的距离 + var horizontalGridLineTopOffset: Float? = null + + // 背景网格左侧偏移量 + var horizontalGridLineLeftOffset: Float = DEFAULT_HORIZONTAL_GRID_LINE_LEFT_OFFSET + var valueTendToZero = DEFAULT_VALUE_TEND_TO_ZERO // 加载更多监听 diff --git a/samples/build.gradle b/samples/build.gradle index 923ba1c..99ca073 100644 --- a/samples/build.gradle +++ b/samples/build.gradle @@ -70,6 +70,6 @@ dependencies { androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' implementation 'com.google.android:flexbox:2.0.1' -// implementation project(':lib') - implementation 'com.github.wangyiqian:StockChart:1.1.1' + implementation project(':lib') +// implementation 'com.github.wangyiqian:StockChart:1.1.1' } \ No newline at end of file