zoukankan      html  css  js  c++  java
  • PagerAdapter 用法

    PagerAdapter简介

    PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter,这两个adapter都是Fragment的适配器,用于实现Fragment的滑动效果,这两个adapter的使用和区别这次就先不介绍了,等下次有时间再做详细的介绍。

    PagerAdapter主要是viewpager的适配器,而viewPager则也是在android.support.v4扩展包中新添加的一个强大的控件,可以实现控件的滑动效果,比如咱们在软件中常见的广告栏的滑动效果,用viewPager就可以实现。今天主要介绍如何使用viewPagr并重写PagerAdapter实现常见广告栏的滑动效果。

    PagerAdapter用法简介

    首先,如果继承pageradapter,至少必须重写下面的四个方法

    1 instantiateItem(ViewGroup, int)
    2. destroyItem(ViewGroup, int, Object)
    3. getCount()
    4. isViewFromObject(View, Object) 
    下面我们以代码的形式,说明这四个方法的含义以及如何使用

    private class ViewPagerAdapter extends PagerAdapter {
    
            // 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量
            @Override
            public int getCount() {
                return images.size();
            }
    
            // 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可
            @Override
            public boolean isViewFromObject(View arg0, Object arg1) {
                return arg0 == arg1;
            }
    
            // PagerAdapter只缓存三张要显示的图片,如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁
            @Override
            public void destroyItem(ViewGroup view, int position, Object object) {
                view.removeView(images.get(position));
            }
    
            // 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可
            @Override
            public Object instantiateItem(ViewGroup view, int position) {
                view.addView(images.get(position));
                return images.get(position);
            }
        }

    转自:http://www.it165.net/pro/html/201403/11289.html

  • 相关阅读:
    tf.function :图执行模式(转载)
    TFRecord:TensorFlow 数据集存储格式(转载)
    tf.keras.Model和tf.keras.Sequential
    tf.keras.Input
    IOS逆向-砸壳笔记
    ios调试-查看日志
    用xcode9编译出ios越狱机程序使用的dylib
    docker运行中的container怎么修改之前run时的env
    (转)解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
    (转) mysql中left join,right join,inner join的区别
  • 原文地址:https://www.cnblogs.com/wobeinianqing/p/5431630.html
Copyright © 2011-2022 走看看