java中广告维护轮播图怎么做_Banner广告轮播图
需求描述
輪播圖也是大部分app都有的效果,商品類跟新聞類的app是肯定會有的。
輪播圖的效果跟第一次啟動時的引導頁類似,不過輪播圖在引導頁的基礎上多了幾個功能:在第一頁也能向左滑動,在最后一頁也能向右滑動
有個計時器,每隔一段時間滾動輪播圖
先看效果圖
代碼實現
activity_main.xml
最外層是RelativeLayout,固定高度200dp,里面有ViewPager跟LinearLayout,ViewPager用來顯示banner圖片,LinearLayout顯示點點點圖片,表示當前ViewPager的選中狀態。
BannerAdapter.java ViewPager適配器,繼承自PagerAdapter,重寫四個方法。
首先我們把要顯示的圖片的資源id放到一個名字為banners的int數組中,這是一個實例變量,在構造方法中傳入context對象。getCount 返回int的最大值,這樣有個好處就是當你滑動到來最后一頁還能往后滑動。
isViewFromObject 常規寫法 參數1==參數2
destroyItem 刪除一條記錄
instantiateItem 添加一條記錄,首先傳入的position的值是0到int最大值,因為我們前面的getCount方法就返回int類型最大值,所以這里我們要對圖片數量進行求余,這樣求余之后position的值必定小于圖片數量,初始化ImageView對象,設置圖片縮放類型,把position通過setTag保存到view里面,設置圖片資源,給圖片設置點擊事件,最后把圖片添加到ViewGroup里面。這個ViewGroup就是ViewPager自己,如果你看了源碼,ViewPager就是繼承自ViewGroup的。
onClickListener 先判斷onBannerClickListener是否為空,如果不為空,調用onBannerClickListener的onClick方法。
setOnBannerClickListener 設置banner item點擊監聽,其實就是設置圖片點擊。
getBanners 返回圖片資源數組。
MainActivity.java
onCreate 查找ViewPager控件,初始化BannerAdapter對象,給bannerAdapter設置點擊事件(圖片點擊),給ViewPager設置緩存頁數,設置適配器,添加頁面改變監聽,查找ViewGroup,循環添加顯示點點點圖片的ImageView,在for循環中創建ImageView對象,設置圖片寬高,給圖片設置資源圖片,選中跟未選中資源圖片不一樣,默認第一個點選中。最后調用viewGroup.addView方法把圖片添加進去,這個方法有第二個參數,可以設置左右外邊距。通過ViewPager.setCurrentItem方法設置當前頁,當前頁的值給一個比較大默認值,這樣做的好處就是軟件剛打開Banner也能向左邊滑動,最后開啟計時器,這里調用postDelayed方法,這個方法可以延遲執行Runnable,它有兩個參數,第一個參數是Runnable,第二個參數是延遲的時間,我們延遲5秒執行。Handler+Runnable當計時器使用大家應該都明白了把,畢竟我們前面的音樂播放器,視頻播放器都這么用過。
onPageChangeListener 在onPageSelected方法中把當前的position賦值給currentItem,調用setImageBackground方法改變點點點圖片的選中狀態,傳入了一個int類型的值,我們先對position求余之后再傳入進去。
setImageBackground 改變點點點圖片的選中狀態,循環圖片數量,根據下標從viewGroup中找出ImageView,先把背景設置成無,如果選中顯示選中圖片,未選中設置未選中圖片。
onBannerClickListener 圖片點擊監聽,在這里可以處理圖片點擊之后做的事情
onDestroy 刪除計時器,大家在開發中如果有需要釋放的東西一定要在onDestroy中加上,即時釋放資源是一個程序員良好的習慣。所以建議大家都養成這個習慣。
源碼下載:
如果您想第一時間看我的后期文章,公眾號每周不定期推送:Android開發666
總結
以上是生活随笔為你收集整理的java中广告维护轮播图怎么做_Banner广告轮播图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python建模大赛算法_Python数
- 下一篇: php 遮罩层,Jquery实现遮罩层的