1. x軸部分展示,可滑動(dòng)
setVisibleXRange(4.5f, 4.5f)
2. 在1的基礎(chǔ)上,每次加載新數(shù)據(jù)自動(dòng)滾動(dòng)到最后
moveViewToX(LineData.xMax)
// 動(dòng)畫平移(需平移到的X坐標(biāo)值,需平移到的Y坐標(biāo)值,需平移的坐標(biāo)軸,動(dòng)畫時(shí)長)
// 第一個(gè)參數(shù)的效果是盡可能將所設(shè)置值拉到X軸圓點(diǎn)
// 第二個(gè)參數(shù)的效果是盡可能將所設(shè)置值拉到Y(jié)軸中心
moveViewToAnimated(it.xMax,0f,YAxis.AxisDependency.LEFT,500)
另外有個(gè)bug,如果開啟了線性滾動(dòng)
isDragDecelerationEnabled = true
圖表在滑動(dòng)時(shí)會(huì)啟用Fling效果,也就是手指抬起后列表會(huì)跟隨慣性按照原方向繼續(xù)滾動(dòng)一會(huì),而在滾動(dòng)還未停止時(shí),調(diào)用moveViewToX或moveViewToAnimated方法會(huì)無效。
感謝t2314862168老師的ISSUE
加上這行代碼就行了
(mChartTouchListener as BarLineChartTouchListener).stopDeceleration()
其實(shí)
CoordinatorLayout中的AppbarLayout的視差效果在Fling時(shí)也有這個(gè)BUG,需要通過反射解決,不知道現(xiàn)在官方解決沒有。
3. 設(shè)置圖標(biāo)區(qū)域距離X、Y軸的邊距
參考地址是這個(gè)
// 左右邊距《==》單位對應(yīng)x軸value
it.spaceMin = 0.2f
it.spaceMax = 0.2f
// Y軸偏移
axisLeft.spaceBottom = 6f
Y軸點(diǎn)會(huì)偏移坐標(biāo)軸的相應(yīng)百分比距離開始繪制
但是如果設(shè)置了填充,填充不會(huì)偏移,類似效果就是

image.png