Android studio 中CircleImageView无法使用

Android studio 中CircleImageView无法使用

错误日志

img


第三方库引用了import还是报黄

img

img

看看你布局文件里用的示什么控件,这个地方不是说了,AppCompatImageView不能实例化为CircleImageView,你看看布局文件不是用的是CircleImageView还是AppCompatImageView

img

看下35行的代码,引入的import包可能不对。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 【Android -- 开源库】CircleImageView 的基本使用中的 三、小结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    简单小结下 CircleImageView 的原理:
    (1) 通过 BitmapShader 构造一个可以绘制出图片的画刷
    (2) 通过 View 的大小,Padding,边框等计算出图片需要进行变换的变换矩阵
    (3) 通过 canvas.drawCircle() 方法绘制出最终需要的圆形图片

  • 以下回答来自chatgpt:

    针对您在使用CircleImageView时遇到的问题,可能是因为您没有正确导入该库或者没有正确使用该库。您可以尝试以下步骤解决问题:

    1. 确保您已经在build.gradle文件中正确添加了CircleImageView库的依赖,具体方式为在dependencies中添加以下代码:

    implementation 'de.hdodenhof:circleimageview:3.1.0'

    1. 确认您已经正确使用CircleImageView库,具体应在布局文件中使用CircleImageView控件代替普通的ImageView控件,并使用app:civ_border_width和app:civ_border_color属性设置圆形图像的边界宽度和颜色,例如:

    <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/profile_image" android:layout_width="96dp" android:layout_height="96dp" android:background="@color/colorPrimaryDark" android:layout_marginTop="20dp" app:civ_border_width="2dp" app:civ_border_color="@color/colorAccent"/>

    1. 确认您正确导入第三方库,import报黄的情况可能是因为您没有正确导入该库的包或者版本与您使用的不匹配。您可以尝试重新导入该库或者查看该库的版本是否与您使用的匹配。

    如果以上步骤无法解决您的问题,可能是由其他原因导致的,建议尝试重新安装或更新Android Studio,并查看相关日志或错误提示以进一步排查问题。

    至于您提到的关于使用ImageView加载图片时是否会影响图片占用内存大小的问题,经过实验得出结论:缩放类型不会影响图片占用内存大小,只会影响Drawable在绘制图片到屏幕时的区域大小。具体原因可能是因为图片最终以Bitmap形式存在于内存中,ImageView的缩放类型只是将图片展示的区域按缩放规则进行划定,并没有对图片本身产生作用。具体可参考参考资料中的测试场景和代码示例。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^