zoukankan      html  css  js  c++  java
  • Android ViewPager

    将layout布局转换为view对象。
         1>layoutInflater lf=getLayoutInflater().from(this);
             lf.inflate(resource,root);
         2>View.inflate(context,resource,root);
     
    配置adapter
         1>pageradapter   数据源:list<View>
         2>FragmentPagerAdapter      数据源:list<Fragment>
         3>FragmentStatePagerAdapter     数据源:list<Fragment>
     
    android.support.v4.view.ViewPager
              android.support.v4.view.pagerTabStrip
              android.support.v4.view.pagerTitleStrip
     
     <android.support.v4.view.ViewPager
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/pager"
            >
            <android.support.v4.view.pagerTabStrip
                android:layout_width= "wrap_content"
                   android:layout_height="wrap_content"
                   android:id="@+id/tab"
                >
            </android.support.v4.view.pagerTabStrip>
            <android.support.v4.view.pagerTitleStrip
                android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:id="@+id/title"
                >
            </android.support.v4.view.pagerTitleStrip>
        </android.support.v4.view.ViewPager >
       
     
     
    public class MyPagerAdapet extends PagerAdapter{
     
           
            private List<View> viewlist ;
            private List<String> tablist ;
           
            public MyPagerAdapet(List<View> viewlistList ,List<String> tablist){
                   this.viewlist =viewlistList ;
                   this.tablist =tablist;
           }
           
            /**
            * 返回页卡的数量
            */
            @Override
            public int getCount() {
     
                   return viewlist .size();
           }
     
           
            /**
            *判断当前的view是否来自于对象  arg0==arg1
            */
            @Override
            public boolean isViewFromObject(View arg0, Object arg1) {
                   return arg0==arg1;
           }
           
            /**
            * 实例化一个页卡
            */
            @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));
           }
           
            /**
            * 设置 viewpage页卡的标题
            */
            @Override
            public CharSequence getPageTitle(int position) {
                   // TODO Auto-generated method stub
                   return tablist .get(position);
           }
    }
     
    public class MainActivity extends ActionBarActivity {
     
            private List<View> viewlist ;
            private ViewPager pager ;
            private PagerTabStrip tab;
            private List<String> tablist ;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
                  setContentView(R.layout. activity_main);
                   viewlist= new ArrayList<View>();
                   /**
                   * 通过view对象作为view怕给的数据源
                   */
                  View view1=View. inflate(this, R.layout. view1, null );
     
           
                   viewlist.add(view1);
     
                   //初始化pager
                   pager=(ViewPager) findViewById(R.id. pager);
                   //创建pagerAdapter适配器
                  MyPagerAdapet adapet= new MyPagerAdapet(viewlist ,tablist );
                   //viewpager 加载适配器
                   pager.setAdapter(adapet);
           }
    }
     
     
     
    FragmentPagerAdapter
    使用fragment作为viewpager的数据源。
    stareblankly.cn
  • 相关阅读:
    1020. Tree Traversals
    1001. A+B Format
    centos 各类无线网卡编译
    vim 详细配置 超全
    深夜复习strcpy函数原型竟然暗藏着这么多玄机
    第一篇博客
    strcat函数使用中出现的问题
    strcpy与strncpy工作方式及其区别
    strcpy与面试官
    linux下多线程编程
  • 原文地址:https://www.cnblogs.com/stareblankly/p/4844222.html
Copyright © 2011-2022 走看看