我正在构建同时使用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/