您的位置:首页 > 移动开发 > Android开发

Android ViewPager引导页

2016-04-11 16:14 435 查看
1.创建需要的视图界面

$.创建所需要的布局文件

主布局:

<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00000000" >
</android.support.v4.view.ViewPager>


引导页面布局(按照需要添加):

<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/guide_1" />


2.准备数据源

核心代码:

private void initViews() {
LayoutInflater inflater = LayoutInflater.from(this);

views = new ArrayList<View>();
//将你需要的引导页面的布局文件添加到数据源中
views.add(inflater.inflate(R.layout.one, null));
views.add(inflater.inflate(R.layout.two, null));
views.add(inflater.inflate(R.layout.three, null));

//加载适配器
vpAdapter = new ViewPagerAdapter(views, this);
vp = (ViewPager) findViewById(R.id.viewpager);
vp.setAdapter(vpAdapter);
start_btn = (Button) views.get(2).findViewById(R.id.start_btn);
start_btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent i = new Intent(Guide.this, MainActivity.class);
startActivity(i);
finish();
}
});

vp.setOnPageChangeListener(this);
}


3.创建数据源适配器(ViewPagerAdapter)

public class ViewPagerAdapter extends PagerAdapter {
private List<View> views;
private Context context;

public ViewPagerAdapter(List<View> views, Context context) {
this.views = views;
this.context = context;
}
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(views.get(position));
return views.get(position);

}
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return (arg0 == arg1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 布局 viewpager