兩種方式實現(xiàn)類似水波擴散效果,先上圖為敬
創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站制作、成都網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文發(fā)布平臺等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。自定義view實現(xiàn)
思路分析:通過canvas畫圓,每次改變圓半徑和透明度,當(dāng)半徑達到一定程度,再次從中心開始繪圓,達到不同層級的效果,通過不斷繪制達到view擴散效果
private Paint centerPaint; //中心圓paint private int radius = 100; //中心圓半徑 private Paint spreadPaint; //擴散圓paint private float centerX;//圓心x private float centerY;//圓心y private int distance = 5; //每次圓遞增間距 private int maxRadius = 80; //大圓半徑 private int delayMilliseconds = 33;//擴散延遲間隔,越大擴散越慢 private ListspreadRadius = new ArrayList<>();//擴散圓層級數(shù),元素為擴散的距離 private List alphas = new ArrayList<>();//對應(yīng)每層圓的透明度