• android之ViewPager的使用


    XML代码

        <android.support.v4.view.ViewPager   ViewPager控件
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/MyViewPager"
            android:layout_gravity="center"
          
      >

      <android.support.v4.view.PagerTitleStrip    ViewPager的标题
          android:id="@+id/pagerTitle"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
                  android:layout_gravity="top"
          
          
           >
     
      </android.support.v4.view.PagerTitleStrip>
    </android.support.v4.view.ViewPager>
     

    Java 代码

    需要一个ViewPager的适配器

    实现一个继承自PagerAdapter的类

    实现某些需要重载的方法

    例如:

    public class myAdapter extends PagerAdapter{

            @Override
            public int getCount() {
                // TODO 自动生成的方法存根
                return 0;
            }

            @Override
            public boolean isViewFromObject(View arg0, Object arg1) {
                // TODO 自动生成的方法存根
                return false;
            }
            
        }

      private ViewPager myViewPager;
        private myAdapter myPagerAdapter;
        private PagerTitleStrip myPagerTitle;
        private LayoutInflater infater;
        private List<View> views;
        private List<String> titles;

    myViewPager = (ViewPager) findViewById(R.id.MyViewPager);
            myPagerTitle = (PagerTitleStrip) findViewById(R.id.pagerTitle);
            infater = LayoutInflater.from(MainActivity.this);
            View tab = infater.inflate(R.layout.card_recharge_detail, null);
            views = new ArrayList<View>();
            views.add(tab);
            titles = new ArrayList<String>();
            titles.add("第一页");

            myPagerAdapter = new myAdapter();
            myViewPager.setAdapter(myPagerAdapter);

    public class myAdapter extends PagerAdapter {

            @Override
                public Object instantiateItem(ViewGroup container, int position) {
                Toast.makeText(getApplicationContext(), "instantiateItem", Toast.LENGTH_LONG).show();
                    ((ViewPager)container).addView(views.get(position));
                    return views.get(position);
                    
                }

            @Override
            public int getCount() {
                // TODO 自动生成的方法存根
                return views.size();
            }

            @Override
            public void destroyItem(ViewGroup container, int position, Object object) {
                // TODO 自动生成的方法存根
                ((ViewPager)container).removeView(views.get(position));
            }

            @Override
            public boolean isViewFromObject(View arg0, Object arg1) {
                // TODO 自动生成的方法存根
                return arg0 == arg1;
            }

        }

  • 相关阅读:
    转载viewstate(一) 太经典的东西 不得不转载保存下来
    Asp.Net中HttpModule的研究(转)
    linux学习笔记(9)
    老手经验谈:Linux驱动程序开发学习步骤(转)
    浅谈C中的malloc和free(1)
    ASP.NET的HttpModule和HttpHandler(转)
    C语言学习笔记(1)
    xcode 4 code sense
    不是bug 是教训
    win7 管理员 开关命令
  • 原文地址:https://www.cnblogs.com/lzh-Linux/p/4442854.html
Copyright © 2020-2023  润新知