Viewpager之启动页

写此篇博客的目的是为了记录每一次在Android中用到的知识,方便以后能快速找到!Android启动页也许是每一个APP都必须有的吧,然而使用viewpager来展示的也是不少,这次闲着没事就做了个viewpager的启动页效果,效果如下:


哈哈哈 效果不是很好,将就着看吧!
代码如下:
1.布局文件:

<android.support.v4.view.ViewPager
    android:id="@+id/view_pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<LinearLayout
    android:id="@+id/lin_point"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="15dp"
    android:gravity="center"
    android:orientation="horizontal" 
 

很简单一个viewpager 一个LinearLayout 这个LinearLayout 是用来装小圆点的,接下来是Activity中的代码:

private List<View> viewList = new ArrayList<>();//存放图片资源的集合
private int imgArray[];//存放图片资源的数组

//实例化原点View
private ImageView ivPoint;
private ImageView ivPointArray[];//存放小圆点的数组
/**
 * 初始化viewpager
 */
private void initViewPager() {
    imgArray = new int[]{R.mipmap.flash, R.mipmap.flash_one, R.mipmap.flash_two};
    LinearLayout.LayoutParams params = new LinearLayout
            .LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT);
    for (int anImgArray : imgArray) {
        ImageView imageView = new ImageView(this);
        imageView.setLayoutParams(params);
        imageView.setBackgroundResource(anImgArray);
        viewList.add(imageView);
    }
    mViewPager.setAdapter(new WelcomePagerAdapter(viewList));
}
/**
 * 初始化小圆点
 */
private void initPoint() {
    ivPointArray = new ImageView[viewList.size()];
    for (int i = 0; i < viewList.size(); i++) {
        ivPoint = new ImageView(this);
        ivPoint.setLayoutParams(new ViewGroup.LayoutParams(35, 35));
        ivPoint.setPadding(35, 0, 35, 0);
        ivPointArray[i] = ivPoint;
        if (i == 0) {
            ivPoint.setBackgroundResource(R.drawable.point_s);
        } else {
            ivPoint.setBackgroundResource(R.drawable.empty_point);
        }
        linPoint.addView(ivPointArray[i]);
    }
}

一个viewpager的adapter:

public class WelcomePagerAdapter extends PagerAdapter {
    List<View> viewList;

    public WelcomePagerAdapter(List<View> viewList) {
        this.viewList = viewList;
    }

    @Override
    public int getCount() {
        return viewList == null ? 0 : viewList.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    /**
     * 初始化position的界面
     *
     * @param container
     * @param position
     * @return
     */
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(viewList.get(position));
        return viewList.get(position);
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(viewList.get(position));
    }
}

   大概就这么多了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值