摘要:這兩天在上傳了一個自定義具有以下功能特征支持水平及垂直方向循環滾動支持自動滾動支持自動滾動方向滾動時間間隔時間的設置支持調用實時刷新界面支持邊緣效果顏色的設置為垂直滾動提供了適宜的界面切換效果為什么寫這個庫我們平時使用包中的當中數據變更后調
這兩天在GitHub上傳了一個自定義ViewPager:CoolViewPager,具有以下功能特征:
支持水平及垂直方向循環滾動
支持自動滾動
支持自動滾動方向、滾動時間、間隔時間的設置
支持調用notifyDataSetChanged實時刷新界面
支持邊緣效果顏色的設置
為垂直滾動提供了適宜的界面切換效果
為什么寫這個庫我們平時使用support包中的ViewPager,當adapter中數據變更后,調用notifyDataSetChanged并不能刷新界面,需要重新調用ViewPager.setAdapter方法;網上所有的自定義ViewPager,幾乎都沒有提供垂直方向的切換效果;很多時候,我們需要變更ViewPager滑動到邊緣的漸變色以配合App特定場景.CoolViewPager可以很方便的解決上述問題.
使用步驟在你的build.gradle中添加依賴
dependencies { implementation "com.huanhailiuxin.view:coolviewpager:1.0.0" }
在你的布局文件中引入CoolViewPager
在Java代碼中獲取CoolViewPager,設置各種屬性,為其設置Adapter
public class ActivityEdgeEffectColor extends BaseActivity { private CoolViewPager vp; **** CoolViewPager vp = findViewById(R.id.vp); vp.setScrollMode(CoolViewPager.ScrollMode.HORIZONTAL); vp.setAdapter(adapter); **** }屬性:
我們可以通過xml或Java代碼的方式設置CoolViewPager實例的屬性.
attribute name | description |
---|---|
cvp_scrollmode | 滾動方向 |
cvp_autoscroll | 是否開啟自動滾動 |
cvp_intervalinmillis | 自動滾動時間間隔 |
cvp_autoscrolldirection | 自動滾動方向 |
cvp_infiniteloop | 是否循環滾動 |
cvp_scrollduration | 自動滾動耗時 |
cvp_drawedgeeffect | 是否繪制邊緣效果 |
cvp_edgeeffectcolor | 繪制的邊緣效果顏色 |
通過Java代碼
public class ActivityEdgeEffectColor extends BaseActivity { private CoolViewPager vp; private void initViewPager(){ vp = findViewById(R.id.vp); vp.setScrollMode(CoolViewPager.ScrollMode.VERTICAL); vp.setAutoScroll(true,1000); vp.setAutoScrollDirection(CoolViewPager.AutoScrollDirection.BACKWARD); vp.setInfiniteLoop(true); vp.setScrollDuration(true,600); vp.setDrawEdgeEffect(true); vp.setEdgeEffectColor(getResources().getColor(R.color.colorPrimary)); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69661.html
閱讀 785·2023-04-26 00:30
閱讀 2689·2021-11-23 09:51
閱讀 1045·2021-11-02 14:38
閱讀 2560·2021-09-07 10:23
閱讀 2243·2021-08-21 14:09
閱讀 1362·2019-08-30 10:57
閱讀 1603·2019-08-29 11:20
閱讀 1149·2019-08-26 13:53