亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Android中viewpager重疊效果如何實現

小億
125
2024-06-06 13:48:25
欄目: 編程語言

要實現viewpager的重疊效果,可以通過自定義PageTransformer來實現。下面是一個簡單的示例代碼,實現了viewpager的重疊效果:

public class OverlapPagerTransformer implements ViewPager.PageTransformer {

    private static final float MIN_SCALE = 0.75f;

    @Override
    public void transformPage(View page, float position) {
        int pageWidth = page.getWidth();
        int pageHeight = page.getHeight();

        if (position < -1) {
            page.setAlpha(0f);
        } else if (position <= 0) {
            page.setAlpha(1 + position);
            page.setTranslationX(-pageWidth * position);
            page.setScaleX(1);
            page.setScaleY(1);
        } else if (position <= 1) {
            page.setAlpha(1 - position);
            page.setTranslationX(-pageWidth * position);
            page.setScaleX(1 - Math.abs(position) * (1 - MIN_SCALE));
            page.setScaleY(1 - Math.abs(position) * (1 - MIN_SCALE));
        } else {
            page.setAlpha(0f);
        }
    }
}

然后在使用viewpager的時候,設置自定義的PageTransformer即可實現重疊效果:

ViewPager viewPager = findViewById(R.id.viewpager);
viewPager.setPageTransformer(true, new OverlapPagerTransformer());

通過以上步驟,就可以實現viewpager的重疊效果了。您可以根據需求,調整transformPage方法中的邏輯,來實現不同的重疊效果。

0
汶川县| 芜湖市| 内黄县| 武陟县| 长治市| 九寨沟县| 建昌县| 黄山市| 潜江市| 伊宁县| 保亭| 孙吴县| 汉沽区| 墨玉县| 长岭县| 贡嘎县| 洛川县| 南丹县| 汝阳县| 宽甸| 阿合奇县| 南宁市| 宜兴市| 乡宁县| 万州区| 宣化县| 清新县| 新乐市| 醴陵市| 绥德县| 巴楚县| 辽中县| 南澳县| 桦南县| 清远市| 仁布县| 甘洛县| 美姑县| 陆丰市| 沈丘县| 隆尧县|