ViewPager+PagerAdapter实现带指示器的引导页
一个简单的引导页,由ViewPager和PagerAdapter组成,供大家参考,具体内容如下
packagecom.xspacing.viewpager;
importjava.util.ArrayList;
importjava.util.List;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.support.v4.view.ViewPager;
importandroid.support.v4.view.ViewPager.OnPageChangeListener;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.ViewTreeObserver.OnGlobalLayoutListener;
importandroid.widget.Button;
importandroid.widget.ImageView;
importandroid.widget.LinearLayout;
importandroid.widget.LinearLayout.LayoutParams;
importandroid.widget.RelativeLayout;
/**
*
*@ClassNameMainActivity.java
*@DescriptionTODO引导页
*@authorSmile
*@versionv1.0
*@date2016年9月26日
*/
publicclassMainActivityextendsActivity{
protectedstaticfinalStringTAG="MainActivity";
ViewPagermViewPager;
Listlist;
privateLinearLayoutmLinearLayout;
//两个小灰点的距离
privateintpoitWidth;
privateImageViewmViewPress;
privateImageViewmViewNotPress;
privateButtonbtnStart;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
initDatas();
}
privatevoidinitViews(){
mViewPager=(ViewPager)findViewById(R.id.main_view_pager);
mLinearLayout=(LinearLayout)findViewById(R.id.main_point);
mViewPress=(ImageView)findViewById(R.id.main_red_point_press);
btnStart=(Button)findViewById(R.id.main_btn);
}
privatevoidinitDatas(){
list=newArrayList();
finalintimageId[]={R.drawable.a,R.drawable.b,R.drawable.c};
for(inti=0;i
packagecom.xspacing.viewpager;
importjava.util.List;
importandroid.content.Context;
importandroid.support.v4.view.PagerAdapter;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.ImageView;
publicclassViewPgerAdapterextendsPagerAdapter{
ContextmContext;
Listlist;
publicViewPgerAdapter(Contextcontext,Listlist){
this.mContext=context;
this.list=list;
}
//页数
@Override
publicintgetCount(){
returnlist.size();
}
//复用页卡
@Override
publicbooleanisViewFromObject(Viewview,Objectobj){
returnview==obj;
}
//销毁页卡
@Override
publicvoiddestroyItem(ViewGroupcontainer,intposition,Objectobject){
container.removeView(list.get(position));
}
//生成页卡
@Override
publicObjectinstantiateItem(ViewGroupcontainer,intposition){
Viewview=list.get(position);
container.addView(view);
returnview;
}
}
shape文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。