Android成长日记-使用PagerAdapter实现页面切换

Tip:此方式可以实现页面切换

1. 创建view1.xml,view2.xml,view3.xml,main.xml

在main.xml中创建

<android.support.v4.view.ViewPager

android:id="@+id/pager"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</android.support.v4.view.ViewPager>

2. 创建MainActivity.java

public class MainActivity extends Activity {

private List<View>viewList;[s1]

private ViewPager Pager;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

viewList=new ArrayList<View>();

Pager=(ViewPager) findViewById(R.id.pager);[s2]

//将布局转化为视图

View view1=View.inflate(this, R.layout.view1,null);

View view2=View.inflate(this, R.layout.view2, null);

View view3=View.inflate(this, R.layout.view3, null);[s3]

viewList.add(view1);

viewList.add(view2);

viewList.add(view3);[s4]

//创建PagerAdapter适配器

MyViewPagerAdapter adapter=new MyViewPagerAdapter(viewList);

//ViewPager加载适配器

Pager.setAdapter(adapter);

}

}

3. 创建适配器MyViewPagerAdapter.java

public class MyViewPagerAdapter extends PagerAdapter {

private List<View>viewList;[s5]

public MyViewPagerAdapter(List<View> viewList)

{

this.viewList=viewList;

}[s6]

@Override

public int getCount() {

//返回页卡的数量

return viewList.size();

}

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

// View是否来自于对象

return arg0==arg1;

}

@Override

public Object instantiateItem(ViewGroup container, int position) {[s7]

// 实例化一个页卡

container.addView(viewList.get(position));

return viewList.get(position);

}

@Override

public void destroyItem(ViewGroup container, int position, Object object) {[s8]

//销毁一个页卡

container.removeView(viewList.get(position));

}[s9]



[s1]创建集合List,泛型为View

[s2]控件实例化

[s3]将布局转换为视图

[s4]添加到集合

[s5]声明List集合

[s6]创建构造方法,用于接收传来的集合

[s7]实例化页卡

[s8]销毁页卡

[s9]新增的两个方法

时间: 2024-11-06 11:07:09

Android成长日记-使用PagerAdapter实现页面切换的相关文章

Android成长日记-使用ViewFlipper实现屏幕切换动画效果

(一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导入(不推荐*不灵活) 2. 动态导入:addView()方法 Eg:flipper=(ViewFipper)findViewById(R.id.flipper); Flipper.addView(getImageView(R.drawable.pic)) (三) ViewFlipper的常用方法 a

Android成长日记-使用Intent实现页面跳转

Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->startActivityForResult(intent,requestCode); onActivityForResult(int requestCode,int resultCode, Intent data) setResult(resultCode,data) 1. 无返回结果的页面跳转 a) 主要通过

Android中使用ViewPager实现屏幕页面切换和页面轮播效果

之前关于如何实现屏幕页面切换,写过一篇博文<Android中使用ViewFlipper实现屏幕切换>,相比ViewFlipper,ViewPager更适用复杂的视图切换,而且Viewpager有自己的adapter,这也让其适应复杂对象,实现数据的动态加载. ViewPager是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以使用的api.而viewpager就是其中之一,利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等. 下面我们就展示下Vie

Android成长日记-ProgressBar的设计

ProgressBar的关键属性 Android:max=”100” - ---最大显示进度 Android:progress=”50”----第一显示进度 Android:secondaryProgress=”80”---第二显示进度 Android:indeterminate=”true”---设置是否精确显示 Ps:true:不精确显示进度 ///false:精确显示进度 -----------------------------------------------------------

Android成长日记-ViewPager的使用

ViewPager在安卓应用中主要用于作为程序的引导页面,欢迎页面,以及其他的动画效果,下面将给你讲述ViewPager的使用 在Android3.0以上的Api中,提供了ViewPager的接口,所以可以直接使用,但是必须在3.0以上才可以正常使用 --------------------------------------------------------------- 下面进入正题 1. 首先在Layout创建一个布局 2. 创建Java代码 ① 控件初始化 private ViewPa

Android成长日记-Activity

① Activity是一个应用程序组件,提供用户与程序交互的界面 ② Android四大组件 ---Activity ---Service ---BroadcastReceiver ---Content Provider ③ Android如何创建使用 继承Android的Activity类 重写方法 设置显示布局 在AndroidManifest文件中注册Activity ④ Activity的生命周期

Android成长日记-五大布局

1. 五布局之线性布局LinearLayout 特点:它包含的子控件将以横向或竖向的方式排列 ps:android:gravity=”center|bottom”(gravity允许多级联用) Tip:注意以下例子: <Button Android:layout_weight=”2” Android:layout_height=”wrap_parent” Android:layout_width=”match_parent”/> <Button Android:layout_weight

Android成长日记-Fragment

(一)Android在3.0中引入了Fragment的概念,主要目的是用在大屏幕设备上—例如平板电脑上,支持更加动态和灵活的UI设计.平板电脑的屏幕要比手机大的多,有更多的空间放更多的UI组件,并且这些组件之间会产生更多的交互 (二)Fragment在你的应用中应当是一个模块化和可重用的组件,因为Fragment定义了他自己的布局,以及通过使用他自己的生命周期回调方法定义了他自己的行为,你可以将Fragment包含到多个activity中 (三)[Fragment知识概要] (1)Fragmen

Android成长日记-使用ToggleButton实现灯的开关

案例演示 此案例实现思路:通过ToggleButton控件,ImageView控件实现 ---xml代码: <!-- textOn:true textOff:falase[s1] --> <ToggleButton android:id="@+id/toggleB utton1" android:layout_width="match_parent" android:layout_height="wrap_content" an