shuouyang
shuouyang
同问,也遇到这个问题了 `FATAL EXCEPTION: main Process: com.yoocar.kanjian, PID: 13639 java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmaps at android.graphics.BaseCanvas.throwIfHwBitmapInSwMode(BaseCanvas.java:706) at android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:81) at android.graphics.BaseCanvas.drawBitmap(BaseCanvas.java:139) at android.graphics.Canvas.drawBitmap(Canvas.java:1604) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:549) at android.widget.ImageView.onDraw(ImageView.java:1446) at android.view.View.draw(View.java:23195) at...
找到解决的方法了,是Glide或者Coil库加载图片时使用了硬件加速,与该库的绘制有冲突,加载图片时把硬件加速关了就行了。给一个扩展方法 ```kotlin fun ImageView.disableHardwareLoad(url:String){ val request = ImageRequest.Builder(this.context) .data(url) .allowHardware(false) // 禁用硬件加速,不然和高斯模糊的库一起用会报错 .target(this) .build() Coil.imageLoader(this.context).enqueue(request) } ``` 问题分析 https://juejin.cn/post/6844903764525056008 参考链接 [Software rendering doesn't support hardware bitmaps #159](https://github.com/coil-kt/coil/issues/159#top)
上滑到最后没有数据时,底部加载不消失,看了下源码 ```java public void loadMore() { if (mPullLoadMoreListener != null && hasMore) { mFooterView.animate() .translationY(0) .setDuration(300) .setInterpolator(new AccelerateDecelerateInterpolator()) .setListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { mFooterView.setVisibility(View.VISIBLE); } })...
最终获取完所有数据后,通过反射调用该View,主动隐藏,代码如下 ```java public void solveProblem(){ binding.includeOpus.pullLoadMoreRecyclerView.setPullLoadMoreCompleted(); //解决隐藏后,会出现无法滑动的问题 Class