Android开发笔记—ViewPager的基础使用
来源:互联网 发布:海尔软件下载 编辑:程序博客网 时间:2024/05/22 03:39
先在XML布局文件里创建一个ViewPager控件
<android.support.v4.view.ViewPager android:id="@+id/viewPager1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
然后创建N个XML布局文件,供ViewPager使用
例如tab1.xml
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@mipmap/img1"/>
细节:如果用src属性则可能会造成白边,使用背景属性则不会
定义一个View类型的List数组集合,用于储存N个xml布局文件,
使用getLayoutInflater()方法加载布局文件,将N个xml文件赋值View类型变量,或者直接viewList.add()加入到集合里面。
然后定义viewPager的适配器,viewPager1.setAdapter();
参数为PagerAdapter类。
提供的参数可以通过匿名内部类的方式实现,也可以继承重写的方式实现。
重写的方法有
public int getCount();public boolean isViewFromObject(View view, Object object)public Object instantiateItem(ViewGroup container, int position);public void destroyItem(ViewGroup container, int position, Object object);
getCount()方法用于返回viewPgaer的数量,返回viewList集合数量就可以了。
isViewFromObject()方法暂时不理解,暂时返回 view==object即可
instantiateItem()方法用于滑到另外一个页面时调用,返回viewList中当前页的内容。
destroyItem()从ViewPager中移除页面。
activity中全部代码如下
public class MainActivity extends AppCompatActivity { private ViewPager viewPager1; private View view1,view2,view3; private LayoutInflater inflater; private List<View> viewList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().hide(); setContentView(R.layout.activity_main); viewPager1 = (ViewPager) findViewById(R.id.viewPager1); inflater = getLayoutInflater(); view1 = inflater.inflate(R.layout.tab1,null); view2 = inflater.inflate(R.layout.tab2,null); view3 = inflater.inflate(R.layout.tab3,null); viewList = new ArrayList<View>(); viewList.add(view1); viewList.add(view2); viewList.add(view3); viewPager1.setAdapter(new PagerAdapter() { @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); } }); }
0 0
- Android开发笔记—ViewPager的基础使用
- Android UI 基础之ViewPager的使用
- Android开发笔记—Http通信的基础使用
- Android开发笔记—ListView的基础使用
- Android开发笔记—GridView的基础使用
- Android开发笔记—Spinner的基础使用
- Android开发笔记—WebView、ProgressDialog的基础使用
- android开发 - ViewPager使用
- Android笔记(10)---ViewPager的使用
- android开发之ViewPager的使用
- Android 开发之 TabLayout + ViewPager 的使用
- 【Android基础笔记21】ViewPager
- ViewPager的基础使用
- 【Android开发笔记】viewpager+fragment对adapter的选择
- Android开发笔记之ViewPager+Fragment简单列子的实现
- android viewpager的使用
- Android-ViewPager的使用
- android ViewPager的使用
- strtob 十进制整数n变为任意进制以字符串形式输出
- android:获取屏幕分辨率,屏幕密度
- hdu 5112 A Curious Matt
- session
- 【JZOJ 4820】 最大化
- Android开发笔记—ViewPager的基础使用
- Python读写csv文件
- Java并发编程之八:synchronized的另个一重要作用:内存可见性
- 提高项目质量和开发能力
- 1.1 人生中第一块板子——PCB绘制之提前准备
- 分支判断 90分以上为优秀 60以上为合格 60以下为不合格
- 使用ALTER USER命令修改用户的密码、密码过期,锁定,解锁
- [CF 724E]Goods transportation
- xml--include用法--xml文件模块化