国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

ViewPagerTransformer學習

2019-11-08 00:29:30
字體:
來源:轉載
供稿:網友

官方文檔

1.使用PageTransformer自定義翻頁動畫

創建類實現ViewPager.PageTransformer接口,并通過 ViewPager.setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer); 給ViewPager設置該翻頁動畫。

reverseDrawingOrder: true if the supplied PageTransformer requires page views to be drawn from last to first instead of first to last. true則從后向前畫,false則從前往后畫。

可以感受下:

設置為false時效果: false

設置為true時效果: true

2. 該接口方法說明

public interface PageTransformer { public void transformPage(View page, float position); }

if page three is visible and the user drags towards page four, transformPage() is called for pages two, three, and four at each step of the gesture. 比如當前頁面是第3個,當用戶滑向第4個時,該方法會依次被 第2個,第3個,第4個頁面調用。

經過實測,該方法會對每一個緩存頁面調用該方法。可以通過viewPager.setOffscreenPageLimit(limit); 設置緩存頁面個數。

The position parameter indicates where a given page is located relative to the center of the screen. 回調回來的position參數,指的是被調用的page頁面相對最中間的頁面的位置。比如當前頁面是第3個,當用戶滑向第4個時,該方法會依次被 第2個,第3個,第4個頁面調用。滑動完到第4個時,第2個的position = -1.0,第3個position = 0.0; 第4個 position = 1.0。

可以打印log查看,能更加理解該參數

public void transformPage(View page, float position){ //在adapter中設置該page的tag,可以清晰查看到 LogUtil.d(page.getTag() + ", " + position); }

3. 動畫設置

Based on the position of the pages on the screen, you can create custom slide animations by setting page PRoperties with methods such as setAlpha(), setTranslationX(), or setScaleY(). 依靠該position參數,可以通過setAlpha(),setTranslationX(),setScaleY()等方法設置動畫。

官網示例了ZoomoutPageTransformer和DepthPageTransformer兩種。可以在github上查看更多。

該PageTransformer用在 無限輪播圖Banner中,作為增強功能。


更多: Hongyang博客


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资溪县| 白城市| 梨树县| 高安市| 桓仁| 吴忠市| 舟曲县| 江都市| 新绛县| 黄大仙区| 黑山县| 张家港市| 浑源县| 崇礼县| 淮滨县| 丹阳市| 金山区| 洛阳市| 汕头市| 环江| 罗城| 永定县| 遂昌县| 延川县| 德庆县| 瑞安市| 常熟市| 宝丰县| 永胜县| 武安市| 遂昌县| 闽清县| 海口市| 建德市| 呼和浩特市| 北川| 屏东市| 克拉玛依市| 虞城县| 通渭县| 会泽县|