自定義控件-ViewPager篇

    相信大家都看到過手機上循環播放的廣告吧,這就用到我們的自定義控件了,看下圖
              
  一、原理簡介
     1.在佈局文件中用v4包下的ViewPager設置一個佈局
     2.在activity中找到該佈局文件的ViewPager對象
     3.設置ViewPager的數據(數據適配器)
     4.開啓子線程,動態改變ViewPager當前頁的數據
     5.設置ViewPager改變的監聽器,監聽ViewPager的改變,並且更新界面顯示
  二、具體實現
     1.數據適配器
	①getCount();
		設置ViewPager最大容量,即最多可盛放多少個item
        ②instantiateItem(ViewGroup view,int position)
		預加載的item
	  在ViewPager中會在當前顯示界面的左右兩側各預加載一個item
	③destoryItem(ViewGroup container,int position,Object object)
		銷燬的item
	  當item處在預加載位置和當前位置之外即銷燬item,觸發此事件
     2.線程動態改變數據
	在Android中更改界面的顯示只能在主線程中實現,在子線程中可通過runOnUiThread()方法更新主
	線程數據,其原理也是通過handler消息機制實現的
     3.onPageChangeListener監聽器
	ViewPager中一旦有數據發生改變即觸發此監聽事件
	它有三個字方法
		onPageScolled
		當item滾動完畢後
		onPageSelected
		當item變爲當前頁時,在此方法中可設置改變後的數據,保持數據顯示的一致
		onPageScollStateChanged
		當item狀態發生改變時
     4.假數據
	要顯示的數據是一定的,但是怎麼實現無限動態循環滾動呢?那就給viewPager設置最大item數量足
	夠大,讓要顯示的數據在這些item中循環加載,即可實現這種效果
   三、小結
	1.這就是所謂的自定義控件中的組合控件,把一些Android中已有的控件組裝起來,生成新的控件
	2.所謂自定義控件都是自己定義的,只是懂幾種控件的代碼是不夠的,重要的是做控件的這種思想,
	  有了自定義控件的思想,那麼做自己喜歡效果的控件還是比較容易的
   寫完博客,怎麼感覺一點都想不起來了呢。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章