項(xiàng)目中需要使用圓角的ImageView。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、鎮(zhèn)遠(yuǎn)網(wǎng)站維護(hù)、網(wǎng)站推廣。
原來(lái)的同事在代碼中使用的是Paint&Path方法,在自定義的ImageView里的onDraw(Canvas canvas)方法里使用path.moveTo、path.lineTo、path.quadTo方法來(lái)進(jìn)行繪制。
該方法繪制出來(lái)的ImageView會(huì)在某些手機(jī)上出現(xiàn)強(qiáng)烈的鋸齒,這是UI們所不能忍受的。
使用了mPaint.setAntiAlias(true);等方法均不能很好的解決這個(gè)問(wèn)題。
在網(wǎng)上查到可以使用谷歌推薦的RoundedBitmapDrawable類來(lái)解決這個(gè)問(wèn)題。這個(gè)類簡(jiǎn)單易用,在自定義類中使用RoundedBitmapDrawableFactory.create(Resource, Bitmap)方法來(lái)穿件RoundedBitmapDrawable對(duì)象,再使用setCornerRadius(float)來(lái)設(shè)置圓角值,最后世界使用自定義類的setImageDrawable(RoundedBitmapDrawable)方法完成圖片填充即可。強(qiáng)烈推薦