我正在构建同时使用android-spinnerwheel和cardsLib库的应用程序。
SpinnerWheel正常工作,但是当我尝试使用滑动删除cardsLib的功能时,spinnerWheel有点混乱。
错误是这样的:

06-21 10:43:04.873  17102-17102/com.bitcoinwatcher.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalArgumentException: width and height must be > 0
            at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
            at android.graphics.Bitmap.createBitmap(Bitmap.java:620)
            at antistatic.spinnerwheel.AbstractWheelView.recreateAssets(AbstractWheelView.java:185)
            at antistatic.spinnerwheel.AbstractWheel.onLayout(AbstractWheel.java:457)


我想我需要以某种方式告诉方向盘它已被删除,但我无法确定到底是什么。
即使我设法做到,它也会在实现之前发生:

    @Override
    public void onSwipe(Card card) {
    }

    @Override
    public void onUndoSwipe(Card card) {
    }
}

最佳答案

好吧,解决方案很容易。
似乎CardsLib连续绘制滑块,即使它不可见,也会使其以0的位图宽度/高度绘制。
添加以下安全检查

if (width == 0 || height == 0)
    return;


AbstractWheelView.java修复了该问题。
所以总之

protected void recreateAssets(int width, int height) {
    if (width == 0 || height == 0)
        return;
    mSpinBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    mSeparatorsBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    setSelectorPaintCoeff(0);
}

关于android - 带SpinnerWheel库的CardsLib-滑动时获取宽度和高度必须> 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24339576/

10-09 14:52