Android viewpager 3D畫廊的實現(xiàn)方法
更新時間:2017年02月17日 10:10:34 作者:帥氣的鉛筆
ViewPager在開發(fā)中的使用頻率非常的高,接下來通過本文給大家分享android viewpager 3D畫廊的實現(xiàn)方法,需要的朋友參考下吧
ViewPager有個方法叫做:
setPageTransformer(boolean reverseDrawingOrder, PageTransformer transformer)
用于設置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()方法來設置頁面的屬性,創(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)文章
利用SurfaceView實現(xiàn)下雨與下雪動畫效果詳解(Kotlin語法)
這篇文章主要給大家介紹了關(guān)于利用SurfaceView實現(xiàn)下雨與下雪動畫效果的相關(guān)資料,需要一些基本的View知識和會一些基礎(chǔ)Kotlin語法,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面隨著小編來一起學習學習吧。2017-09-09
android在連拍菜單中增加連拍張數(shù)選項功能實現(xiàn)代碼
想要增加連拍張數(shù)選項需要在entries, entryvalues中添加兩項,同時在mtk_strings.xml中添加相應的字符串,具體如下,感興趣的朋友可以參考下哈2013-06-06
Android實現(xiàn)ViewFlipper圖片動畫滑動
這篇文章主要為大家詳細介紹了Android實現(xiàn)ViewFlipper圖片動畫滑動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
詳解Flutter自定義應用程序內(nèi)鍵盤的實現(xiàn)方法
本文將展示如何利用Flutter創(chuàng)建自定義鍵盤小部件,用于在自己的應用程序中的Flutter TextField中輸入文本,感興趣的小伙伴可以了解一下2022-06-06

