activity:
public class MainActivity extends Activity {
ViewPager vp1=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp1=(ViewPager)findViewById(R.id.viewpager1);
vp1.setAdapter(new MyPageAdapter(this));
vp1.setCurrentItem(1);
}
public class MyPageAdapter extends PagerAdapter
{
int[] resIds={R.layout.page1,R.layout.page2,R.layout.page3};
LayoutInflater inflater=null;
public MyPageAdapter(Context context)
{
inflater= LayoutInflater.from(context);
}
//返回总页数
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
//销毁其中的某一页
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
// super.destroyItem(container, position, object);
}
//创建当前要显示的页面 getView 返回值既可以是View 也可以是Fragment
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
View page= inflater.inflate(resIds[position], null) ;
((ViewPager)container).addView(page);
return page;
}
@Override
public boolean isViewFromObject(View page, Object obj) {
// TODO Auto-generated method stub
return page==obj;
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
xml:
<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"
tools:context=".MainActivity" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager1"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
<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"
tools:context=".MainActivity" >
<TextView
android:id="@+id/txt1"
android:textSize="30sp"
android:textColor="#f00"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是第一页"
/>
</RelativeLayout>
page2.xml:
<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"
tools:context=".MainActivity" >
<TextView
android:id="@+id/txt1"
android:textSize="30sp"
android:textColor="#f00"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="这是第二页"
/>
</RelativeLayout>
本文介绍如何使用Android中的ViewPager组件结合自定义PagerAdapter来实现多页面内容的切换展示。通过具体的代码示例,展示了ViewPager的基本用法,包括设置适配器、初始化页面以及页面切换的实现。

1146

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



