ViewPager 和 PagerAdapter简单例子
来源:互联网 发布:mac airdrop在哪 编辑:程序博客网 时间:2024/05/22 03:42
定义了 3个简单的布局
效果图
//
当你实现一个PagerAdapter时,至少需要重写以下几个方法:
instantiateItem(ViewGroup, int)
destroyItem(ViewGroup, int, Object)
getCount()
isViewFromObject(View, Object)
package com.example.daohang;import java.util.ArrayList;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.ViewGroup;public class MainActivity extends Activity {private List<View> list;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ViewPager pager = (ViewPager) findViewById(R.id.pager);list=new ArrayList<View>();View v1=LayoutInflater.from(this).inflate(R.layout.page01, null);View v2=LayoutInflater.from(this).inflate(R.layout.page02, null);View v3=LayoutInflater.from(this).inflate(R.layout.page03, null);list.add(v1);list.add(v2);list.add(v3);/*PageAdapter 必须重写的四个函数: boolean isViewFromObject(View arg0, Object arg1) int getCount() void destroyItem(ViewGroup container, int position,Object object) Object instantiateItem(ViewGroup container, int position)*/PagerAdapter adapter=new PagerAdapter() {/*sViewFromObject():对于这个函数就先不做讲解,大家目前先知道它要这样重写就行了,后面我们会对它进行改写。*/@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==arg1;}//getCount():返回要滑动的VIew的个数@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}//instantiateItem():做了两件事,第一:将当前视图添加到container中,//第二:返回当前View@Overridepublic Object instantiateItem(ViewGroup container, int position) {// TODO Auto-generated method stubcontainer.addView(list.get(position));return list.get(position);}//destroyItem():从当前container中删除指定位置(position)的View;@Overridepublic void destroyItem(ViewGroup container, int position,Object object) {// TODO Auto-generated method stub//super.destroyItem(container, position, object);container.removeView(list.get(position));}};pager.setAdapter(adapter);}@Overridepublic 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;}}
//布局代码 3个 贴一个 其他都一样 只是 背景颜色不同
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#f00"> </LinearLayout>
0 0
- ViewPager 和 PagerAdapter简单例子
- ViewPager+PagerAdapter
- ViewPager更新问题 - PagerAdapter 和 FragmentPagerAdapter
- ViewPager的简单例子
- Android中的ViewPager和 PagerAdapter的初步理解和使用
- ViewPager和PagerAdapter之页面加载源码分析
- 解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效的问题
- ViewPager高效PagerAdapter实现
- ViewPager的PagerAdapter.notifyDataSetChanged()
- viewpager 与 pageradapter
- ViewPager PagerAdapter FragmentPagerAdapter FragmentStatePagerAdapter
- Android ViewPager PagerAdapter
- ViewPager关于PagerAdapter详解
- ViewPager+PagerAdapter实现导航
- 再说Viewpager,详解PagerAdapter
- ViewPager与PagerAdapter
- ViewPager 适配器之PagerAdapter
- ViewPager+PagerAdapter的使用
- 插入排序
- 第13周 项目5-8 复制两方字符给第三方
- 面试题-1
- Linux命令date日期时间和Unix时间戳互转
- 语音播放逐帧动画
- ViewPager 和 PagerAdapter简单例子
- 九、oracle 事务
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
- iOS 复选框类库SSCheckBoxView
- QTextCodec中的setCodecForTr等终于消失了 (Qt5)
- 十、oracle 常用函数
- C# Winform中导出数据到Excel
- 什么是互联网思维
- 十一、oracle 数据库管理员