這篇文章將為大家詳細(xì)講解有關(guān)Android中如何實(shí)現(xiàn)波浪球效果的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。波浪球的效果一直都是想模仿的對象,在最近一段時(shí)間里模仿了這一界面,其實(shí)所用知識并不多。
1)、波浪的效果是利用三角函數(shù)來實(shí)現(xiàn)的,在自定義view中創(chuàng)建容量為width的數(shù)組,由y=Asin(Kx+T)+H得到每個(gè)x相對應(yīng)的y值,然后存入數(shù)組里面。
2)、利用Android中Canvas提供的drawLine來從上部向下畫線,每個(gè)像素上畫完線之后就組成了圖像。
3)、自定義view中的變量都與width建立了比例關(guān)系,可以任意大小,且效果一致。
4)、分別對y=Asin(Kx+T)+H中的T與H做valueAnimation的數(shù)字動(dòng)畫,就能實(shí)現(xiàn)波浪和上升的效果。
5)、利用Android中Paint的setXfermode來實(shí)現(xiàn)圓形效果。
6)、給外部提供了外部接口,可以對內(nèi)部狀態(tài)進(jìn)行改變。
具體代碼如下:
1 界面XML代碼:
<?xml version="1.0" encoding="utf-8"?>