這篇文章將為大家詳細(xì)講解有關(guān)Android中如何實(shí)現(xiàn)波浪球效果的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
波浪球的效果一直都是想模仿的對象,在最近一段時(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"?>