Android第二十天 ViewPager
来源:互联网 发布:.xyz域名价值 编辑:程序博客网 时间:2024/06/05 02:39
ViewPager的使用步骤:
1. 在布局文件中定义ViewPager控件
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/hello_world" />
2. 定义viewPager并实例化
viewPager=(ViewPager) findViewById(R.id.vp);
3. 定义数据源
private List<TextView> view_list= new ArrayList<TextView>();
private int[] arr_color = new int[] {Color.RED, Color.BLUE, Color.GREEN };
for (int i = 0; i < 3; i++) {
TextViewtextView = new TextView(this);
textView.setText("第" + (i + 1) + "页");
textView.setWidth(LayoutParams.MATCH_PARENT);
textView.setHeight(LayoutParams.MATCH_PARENT);
textView.setBackgroundColor(arr_color[i]);
view_list.add(textView);
}
4. 构建适配器
public class MyAdapter extendsPagerAdapter{
@Override
publicint getCount() {
//TODO Auto-generated method stub
returnview_list.size();
}
@Override
publicboolean isViewFromObject(View arg0, Object arg1) {
//TODO Auto-generated method stub
returnarg0==arg1;
}
@Override
publicObject instantiateItem(ViewGroup container, int position) {
//TODO Auto-generated method stub
container.addView(view_list.get(position));
returnview_list.get(position);
}
@Override
publicvoid destroyItem(ViewGroup container, int position, Objectobject) {
container.removeView(view_list.get(position));
}
}
5. 装载数据适配器
viewPager.setAdapter(new MyAdapter());
6. 设置监听器
// 为viewPager添加监听器
viewPager.setOnPageChangeListener(newOnPageChangeListener() {
@Override
/**
*某一页被选择了,就会调用这个方法
*
*arg0页的id
*/
public voidonPageSelected(int arg0) {
//Toast.makeText(MainActivity.this, "arg0=" + arg0 + "被选择了", 0)
// .show();
}
@Override
/**
* 当前页面滚动的时候会调用这个方法,只要在滚动就会调用
* @param1:滚动页面的id
* @param2:相对屏幕的位置值,这个还是相对值,以屏幕的物理尺寸为标准,
* @param3:相对屏幕的位置,但是它是绝对值,以像素为单位
*/
public voidonPageScrolled(int arg0, float arg1, int arg2) {
//Toast.makeText(
//MainActivity.this,
//"arg0=" + arg0 + "," + "arg1=" + arg1 +"," + "arg2="
// + arg2,0).show();
}
@Override
/**
*某个页面的滚动状态
*arg0是状态
*/
public voidonPageScrollStateChanged(int arg0) {
switch(arg0) {
caseViewPager.SCROLL_STATE_DRAGGING: //正在滚动的状态
Toast.makeText(MainActivity.this,"正在被拖动", 0).show();
break;
caseViewPager.SCROLL_STATE_IDLE: //这个页面消失了的状态
Toast.makeText(MainActivity.this,"消失了", 0).show();
break;
caseViewPager.SCROLL_STATE_SETTLING: // 滚动到最后(下一个页面马上就要出来了)
Toast.makeText(MainActivity.this,"到最后了", 0).show();
break;
default:
break;
}
}
});
- Android第二十天 ViewPager
- 第二十天 Android环境搭建
- android第二十天——手势识别
- 我的android(第二十天)
- 第二十天
- 第二十天
- 第二十天
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- Android UI开发第二十篇——仿launcher的左右滑动(用ViewPager实现欢迎引导页面)
- 世界杯第二十天
- 第二十天 考核
- 第二十天:听课笔记
- 第二十天:总结
- TULING第二十天
- 第二十天总结0416
- 星海第二十天
- 实习日记->第二十天
- 第二十天博客
- [BetterExplained]如何有效地记忆与学习
- css更改背景图片大小
- Android 完全退出程序的方法
- 《Linux就是这个范儿》
- iOS基础面试题(一)
- Android第二十天 ViewPager
- vector的用法
- c++ 访问 elasticsearch 的API
- linux网络设备—PHY
- 欢迎使用CSDN-markdown编辑器
- 23-向服务器发送JSON、url转码、多值参数
- linux网络设备—mdio总线
- Devexpress使用之:GridControl控件
- 图像添加高斯噪声、胡椒噪声、盐噪声和椒盐噪声