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)屬性,會隨著頁面的滾動而改變。
* 當(dāng)一個頁面(page)填充整個屏幕時,positoin值為0; 當(dāng)一個頁面(page)剛剛離開屏幕右(左)側(cè)時,position值為1(-1);
* 當(dāng)兩個頁面分別滾動到一半時,其中一個頁面是-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)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AndroidStudio3.6.1打包jar及AndroidStudio4.0打包jar的一系列問題及用法
這篇文章主要介紹了AndroidStudio3.6.1打包jar,AndroidStudio4.0打包jar的問題及用法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面
使用Ionic2創(chuàng)建應(yīng)用非常簡單,只需在V1的命令后跟上--v2即可.這篇文章主要介紹了Ionic2創(chuàng)建App啟動頁左右滑動歡迎界面的相關(guān)資料,需要的朋友可以參考下2016-10-10
sqlite查詢結(jié)果在listview中展示的實現(xiàn)
下面小編就為大家?guī)硪黄猻qlite查詢結(jié)果在listview中展示的實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
Android 給RecyclerView添加分割線的具體步驟(分享)
下面小編就為大家?guī)硪黄狝ndroid 給RecyclerView添加分割線的具體步驟(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04
android完美實現(xiàn) 拍照 選擇圖片 剪裁等代碼分享
本文給大家分享了2個安卓實現(xiàn)實現(xiàn) 拍照 選擇圖片 剪裁等的代碼,都是從正式項目中提取出來了,非常實用,有需要的小伙伴可以參考下。2016-01-01

