android基础-----ViewPager实现简单的轮播图

本文介绍了如何使用android.support.v4.view.ViewPager实现简单的轮播图。ViewPager作为一个视图容器,可以从其Adapter获取数据并支持左右滑动切换。通常与Fragment配合使用,并提供FragmentPagerAdapter和FragmentStatePagerAdapter。此外,还提及了如何设置官方提供的视图切换动画。
摘要由CSDN通过智能技术生成


                                                                         ViewPager实现简单的轮播图

关于ViewPager实现轮播图



1.介绍:
android.support.v4.view.ViewPager
ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。
  1)ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。
  2)ViewPager类需要一个PagerAdapter适配器类给它提供数据。
  3)ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类供Fragment中的ViewPager使用。
  4)geogle官方提供了view切换时的动画,当然我们也可以自定义动画,用ViewPager.setPageTransformer(boolean arg0,PageTransformer arg1)
arg0 为true,切换时childview 顺序,反之倒叙,区别就是切换时新页面(childView)到底是在顶层还是在原来就页面(viewParent)的底下。


geogle官方提供的view切换时的动画

package com.briup.viewpager;

import android.support.v4.view.ViewPager.PageTransformer;
import android.view.View;


public class DepthPageTransformer implements PageTransformer {
    private static final float MIN_SCALE = 0.75f;

    public void transformPage(View view, float position) {
        int pageWidth = view.getWidth();

        if (position < -1) { // [-Infinity,-1)
            // This page is way off-screen to the left.
            view.setAlpha(0);

        } else if (positn <= 0) { // [-1,0]
            // Use the default slide transition when moving to the left page
            view.setAlpha(1);
            view.setTranslationX(0);
            view.setScaleX(1);
            view.setScaleY(1);

        } else if (position <= 1) { // (0,1]
            // Fade the page out.
            view.setAlpha(1 - position);

            // Counteract the default slide transition
            view.setTranslationX(pageWidth * -position);

            // Scale the page down (between MIN_SCALE and 1)
            float scaleFactor = MIN_SCALE
                    + (1 - MI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值