Activity中嵌入ViewPager或者是其他的fragment嵌入ViewPager:
以Activity为例:
首先得有一个ViewPager:
Activity对应的布局页:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.guangbo.MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_height="130dp"
android:layout_width="match_parent"
/>
</RelativeLayout>
然后在Activity中使用:
找到ViewPager,然后为viewPager注入子布局:
private ViewPager mViewPager;
private List<View> views=new ArrayList<View>(); //盛放子布局
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager=(ViewPager) findViewById(R.id.viewPager);
//viewPager
LayoutInflater inflater=LayoutInflater.from(this);
views.add(inflater.inflate(R.layout.water_camera_page1, null)); //子布局放入数组集合中
views.add(inflater.inflate(R.layout.water_camera_page2, null)); //子布局
views.add(inflater.inflate(R.layout.water_camera_page3, null)); //子布局
mViewPager.setAdapter(new MyViewPagerAdapter()); //设置适配器
mViewPager.setOnPageChangeListener(new MyOnPagerChangeListener()); //监听页面改变
}
设配器
//viewPager
private class MyViewPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(views.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(views.get(position));
return views.get(position);
}
}
//监听页面改变
private class MyOnPagerChangeListener implements OnPageChangeListener{
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int arg0) {
waterType=arg0;
Log.v("yemian","arg0");
}
}
这样便实现了:注意此处的适配器类放在Activity类当中,而且盛放页面的数组集是Activity中的全局变量;若将适配器放到外面,则需传个页面的数组集给适配器
本文介绍如何在Android应用中实现ViewPager组件。通过示例代码详细展示了ViewPager的布局配置、子视图填充及适配器编写过程。
1333

被折叠的 条评论
为什么被折叠?



