Android viewpager 3D畫廊的實現(xiàn)方法
ViewPager有個方法叫做:
setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer)
用于設(shè)置ViewPager切換時的動畫效果。
這里我們只要自定義一個PageTransformer來實現(xiàn)我們需要的動畫偏移效果就好了!
public class ScrollOffsetTransformer implements PageTransformer { private static final float MIN_SCALE = 0.85F; /** * position參數(shù)指明給定頁面相對于屏幕中心的位置。它是一個動態(tài)屬性,會隨著頁面的滾動而改變。 * 當一個頁面(page)填充整個屏幕時,positoin值為0; 當一個頁面(page)剛剛離開屏幕右(左)側(cè)時,position值為1(-1); * 當兩個頁面分別滾動到一半時,其中一個頁面是-0.5,另一個頁面是0.5。 * 基于屏幕上頁面的位置,通過諸如setAlpha()、setTranslationX * ()或setScaleY()方法來設(shè)置頁面的屬性,創(chuàng)建自定義的滑動動畫。 */ @Override public void transformPage(View view, float position) { // TODO Auto-generated method stub float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position)); float rotate = 30 * Math.abs(position); float transla = 50 * Math.abs(position); if (position > 0) { view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); view.setRotationY(-rotate); view.setTranslationX(-transla); } else { view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); view.setRotationY(rotate); view.setTranslationX(transla); } } }
然后
viewPager
加上
viewPager.setPageTransformer(true, new ScrollOffsetTransformer())
以上所述是小編給大家介紹的Android viewpager 3D畫廊的實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列問題及用法
這篇文章主要介紹了AndroidStudio3.6.1打包jar,AndroidStudio4.0打包jar的問題及用法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面
使用Ionic2創(chuàng)建應(yīng)用非常簡單,只需在V1的命令后跟上--v2即可.這篇文章主要介紹了Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面的相關(guān)資料,需要的朋友可以參考下2016-10-10sqlite查詢結(jié)果在listview中展示的實現(xiàn)
下面小編就為大家?guī)硪黄猻qlite查詢結(jié)果在listview中展示的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04Android 給RecyclerView添加分割線的具體步驟(分享)
下面小編就為大家?guī)硪黄狝ndroid 給RecyclerView添加分割線的具體步驟(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04android完美實現(xiàn) 拍照 選擇圖片 剪裁等代碼分享
本文給大家分享了2個安卓實現(xiàn)實現(xiàn) 拍照 選擇圖片 剪裁等的代碼,都是從正式項目中提取出來了,非常實用,有需要的小伙伴可以參考下。2016-01-01