fujianlian / KLineChart

Android仿火币K线图实现(包含MA,BOLL,MACD,KDJ,RSI,WR指标)
742 stars 174 forks source link

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

Open Lovskey-Wei opened 5 years ago

Lovskey-Wei commented 5 years ago

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

wufannet commented 5 years ago

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

893193074 commented 5 years ago

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

有解决方案吗,求带

wufannet commented 5 years ago

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

有解决方案吗,求带

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

wufannet commented 5 years ago

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 commented 5 years ago

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

有解决方案吗,求带

解决了

893193074 commented 5 years ago

@wufannet 感谢大佬

Kenmmm commented 4 years ago

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

282167361 commented 3 years ago

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