KLineChart icon indicating copy to clipboard operation
KLineChart copied to clipboard

如何让K线显示和右边保持一定间距,类似如火币。

Open Lovskey-Wei opened this issue 6 years ago • 8 comments

首先真的特别感谢作者提供的库,真的非常好用;很小的改动就达到了UI的展示效果。现在我想让K线和火币一样距离右边有一定距离,但这段距离可以左滑填充;还请作者给个思路,万分感谢。

Lovskey-Wei avatar Jul 01 '19 02:07 Lovskey-Wei

相同问题:如何像火币样的最右边留出一些空白, image

wufannet avatar Aug 28 '19 03:08 wufannet

首先真的特别感谢作者提供的库,真的非常好用;很小的改动就达到了UI的展示效果。现在我想让K线和火币一样距离右边有一定距离,但这段距离可以左滑填充;还请作者给个思路,万分感谢。

有解决方案吗,求带

893193074 avatar Aug 28 '19 08:08 893193074

首先真的特别感谢作者提供的库,真的非常好用;很小的改动就达到了UI的展示效果。现在我想让K线和火币一样距离右边有一定距离,但这段距离可以左滑填充;还请作者给个思路,万分感谢。

有解决方案吗,求带

再看代码,暂时还没有, 代码读的艰难,感觉要读懂现有代码实现才好修改

wufannet avatar Aug 28 '19 09:08 wufannet

BaseKLineChartView

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    this.mWidth = w;
    //列宽度
    mColumnSpace = mWidth/mGridColumns;
    //右边移动最大设置一个列宽度
    setOverScrollRange(mColumnSpace);
    //初始化默认滚动设置一个列宽度
    setScrollX((int) -mOverScrollRange);
    displayHeight = h - mTopPadding - mBottomPadding;
    initRect();
    setTranslateXFromScrollX(mScrollX);
}

/**
 * 重新计算并刷新线条
 */
public void notifyChanged() {
    if (isShowChild && mChildDrawPosition == -1) {
        mChildDraw = mChildDraws.get(0);
        mChildDrawPosition = 0;
    }
    if (mItemCount != 0) {
        mDataLen = (mItemCount - 1) * mPointWidth;
        checkAndFixScrollX();
        setTranslateXFromScrollX(mScrollX);
    } else {
        //第一次设置adapter,默认滑动到最右端,空出一格空白,这个时候还没有回调onSizeChanged,所以改为onSizeChanged中初始化设置
       // setScrollX(0);
    }
    invalidate();
}

wufannet avatar Aug 29 '19 08:08 wufannet

首先真的特别感谢作者提供的库,真的非常好用;很小的改动就达到了UI的展示效果。现在我想让K线和火币一样距离右边有一定距离,但这段距离可以左滑填充;还请作者给个思路,万分感谢。

有解决方案吗,求带

解决了

wufannet avatar Aug 29 '19 08:08 wufannet

@wufannet 感谢大佬

893193074 avatar Aug 29 '19 09:08 893193074

数据很少的时候就会有问题,k线在屏幕外面

Kenmmm avatar Jul 16 '20 09:07 Kenmmm

数据很少的时候就会有问题,k线在屏幕外面 我也遇到这种问题,这个怎么解决?

282167361 avatar Aug 19 '21 09:08 282167361