簡體   English   中英

帶SpinnerWheel庫的CardsLib-滑動時獲取寬度和高度必須> 0

[英]CardsLib with SpinnerWheel libraries - getting width and height must be > 0 on swipe

我正在構建同時使用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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM