ShapeableImageView黑边问题

最近碰到一个麻烦的问题,就是我在做图片预览和保存的生活,需要监听到图片加载完成的时机,而这个图片需需要CenterCrop显示,同时还需要圆角。但是我又不想自己再重新写个自定义的ImageView。
虽然我也发现了目前的项目里有个RoundImageView,但是看了下会导致显示方式为 Start 不是我要的 CenterCrop ,也不想去改它了。
而Glide由于要给来做监听,也没法设置corner了,就开始在网上找鸭找。
最后发现了ShapeableImageView可以满足我的需求,一用完蛋了,这玩意居然圆角后有黑框,一般的使用说明都没提到,一波搜索后发现了解决办法。
那些说禁止硬件加速和软件加速的都不行。实际上需要设置一个padding就可以了,0.5总可以了吧,反正也不太看的出来,就这样吧
在这里插入图片描述
使用方法:

implementation 'com.google.android.material:material:1.2.0'

<com.google.android.material.imageview.ShapeableImageView
            android:id="@+id/ivThumbnail"
            android:layout_width="0dp"
            android:layout_height="0dp"
            app:layout_constraintDimensionRatio="249:140"
            app:layout_constraintWidth_percent="0.664"
            android:scaleType="centerCrop"
            android:padding="0.5dp"
            app:shapeAppearance="@style/RoadshowCoverStyle"/>

<style name="RoadshowCoverStyle">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">8dp</item>
    </style>

感觉还是很方便的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值