mirror of
https://github.com/dzeiocom/charts.git
synced 2025-04-23 19:12:10 +00:00
fix: XAxis not respecting right offset
This commit is contained in:
parent
af2329805b
commit
732aa65c19
@ -108,15 +108,17 @@ class ChartView @JvmOverloads constructor(context: Context?, attrs: AttributeSet
|
||||
}
|
||||
|
||||
|
||||
val bottom = xAxis.onDraw(canvas, rect.apply {
|
||||
set(padding, 0f, width.toFloat() - padding, height.toFloat() - padding)
|
||||
})
|
||||
var bottom = xAxis.getHeight() ?: 0f
|
||||
|
||||
// right distance from the yAxis
|
||||
val rightDistance = yAxis.onDraw(canvas, rect.apply {
|
||||
set(padding, padding, width.toFloat() - padding, height.toFloat() - bottom - padding)
|
||||
})
|
||||
|
||||
bottom = xAxis.onDraw(canvas, rect.apply {
|
||||
set(padding, 0f, width.toFloat() - rightDistance - padding, height.toFloat() - padding)
|
||||
})
|
||||
|
||||
// chart draw rectangle
|
||||
rect.apply {
|
||||
set(
|
||||
|
@ -5,7 +5,6 @@ import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
import android.graphics.Rect
|
||||
import android.graphics.RectF
|
||||
import android.util.Log
|
||||
import com.dzeio.charts.ChartViewInterface
|
||||
import com.dzeio.charts.Entry
|
||||
import kotlin.math.roundToInt
|
||||
@ -53,6 +52,12 @@ class XAxis(
|
||||
|
||||
private val rect = Rect()
|
||||
|
||||
private var height: Float? = null
|
||||
|
||||
override fun getHeight(): Float? {
|
||||
return height
|
||||
}
|
||||
|
||||
override fun getPositionOnRect(entry: Entry, drawableSpace: RectF): Double {
|
||||
return translatePositionToRect(entry.x, drawableSpace)
|
||||
}
|
||||
@ -89,7 +94,7 @@ class XAxis(
|
||||
var maxHeight = 0f
|
||||
|
||||
val graphIncrement = space.width() / (labelCount - 1)
|
||||
val valueIncrement = (getDataWidth() / (labelCount - 1)).toDouble()
|
||||
val valueIncrement = getDataWidth() / (labelCount - 1)
|
||||
for (index in 0 until labelCount) {
|
||||
val text = onValueFormat(x + valueIncrement * index)
|
||||
textPaint.getTextBounds(text, 0, text.length, rect)
|
||||
@ -108,6 +113,7 @@ class XAxis(
|
||||
textPaint
|
||||
)
|
||||
}
|
||||
height = maxHeight + 32f
|
||||
return maxHeight + 32f
|
||||
}
|
||||
|
||||
|
@ -81,4 +81,9 @@ sealed interface XAxisInterface {
|
||||
* @return the final height of the XAxis
|
||||
*/
|
||||
fun onDraw(canvas: Canvas, space: RectF): Float
|
||||
|
||||
/**
|
||||
* return the height of the XAxis (available after first draw)
|
||||
*/
|
||||
fun getHeight(): Float?
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user