zoukankan      html  css  js  c++  java
  • ViewPager讲解以及ViewFlipper

    1.加入ViewPager最好导入<android.support.v4.view.ViewPager>兼容低版本

    2.将布局转换为View的方法

    3.适配器类型

    PagerAdapter数据适配器,以View(4个View配置文件)作为数据对象填充 
    课程Demo
    public class MyPagerAdapter extends PagerAdapter {

    private List<View> viewlist;
    private List<String>title;
    public MyPagerAdapter(List<View> viewlist,List<String>title){
    this.viewlist=viewlist;
    this.title=title;
    }
    @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));
    }
    @Override
    public CharSequence getPageTitle(int position) {
    return title.get(position);
    }
    FragmentPagerAdapter,以Fragment(四个Fragment类)作为填充的数据适配器
    课程Demo //开发复杂的经常用到
    public class MyFragmentPagerAdapter extends FragmentPagerAdapter{
       private List<Fragment>fragList;
    private List<String>titleList;
    public MyFragmentPagerAdapter(FragmentManager fm,List<Fragment> fragList,List<String>titleList) {
    super(fm);
    this.fragList=fragList;
    this.titleList=titleList;
    }
    @Override
    public Fragment getItem(int arg0) {

    return fragList.get(arg0);
    }
    @Override
    public int getCount() {
    return fragList.size();
    }
    @Override
    public CharSequence getPageTitle(int position) {
    return titleList.get(position);
    }
    }
    FragmentStatePagerAdapter适配器多了一个创建和销毁的过程
    public void destroyItem(ViewGroup container, int position, Object object) {
    super.destroyItem(container, position, object);
    }

    @Override
    public Object instantiateItem(ViewGroup arg0, int arg1) {
    return super.instantiateItem(arg0, arg1);
    }
    4.设置监听器
    public class MainActivity extends FragmentActivity implements OnPageChangeListener{
    private ViewPager pager;private List<View>viewList;
    private List<String>titleList;
    private PagerTabStrip tab;
    private List<Fragment>fragList;
       @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    View view1 = View.inflate(this, R.layout.view1, null);
    View view2 = View.inflate(this, R.layout.view2, null);
    View view3 = View.inflate(this, R.layout.view3, null);
    View view4 = View.inflate(this, R.layout.view4, null);
    viewList=new ArrayList<View>();
    viewList.add(view1);
    viewList.add(view2);
    viewList.add(view3);
    viewList.add(view4);
    titleList=new ArrayList<String>();
    titleList.add("第一页");
    titleList.add("第二页");
    titleList.add("第三页");
    titleList.add("第四页");
    tab=(PagerTabStrip) findViewById(R.id.tab);
    //设置背景颜色
    tab.setBackgroundColor(Color.YELLOW);
    //设置短下划线颜色
    tab.setTabIndicatorColor(Color.BLUE);
    //设置是否隐藏下划细线
    tab.setDrawFullUnderline(false);
    //设置字体颜色
    tab.setTextColor(Color.RED);
    pager=(ViewPager) findViewById(R.id.pager);
    MyViewPagerAdapter adapter=new MyViewPagerAdapter(viewList, titleList);
    pager.setAdapter(adapter);
    fragList=new ArrayList<Fragment>();
    fragList.add(new Fragment1());
    fragList.add(new Fragment2());
    fragList.add(new Fragment3());
    fragList.add(new Fragment4());
    // MyFragmentPagerAdapter adapter2=new MyFragmentPagerAdapter(getSupportFragmentManager(), fragList, titleList);
    // pager.setAdapter(adapter2);
    // MyFragmentPagerAdapter2 adapter3=new MyFragmentPagerAdapter2(getSupportFragmentManager(), fragList, titleList);
    // pager.setAdapter(adapter3);
    pager.setOnPageChangeListener(this);
    }
    @Override
    public void onPageScrollStateChanged(int arg0) {
    // TODO Auto-generated method stub
    }
    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) {
    // TODO Auto-generated method stub
    }
    @Override
    public void onPageSelected(int arg0) {
    // TODO Auto-generated method stub
    Toast.makeText(this, "这是第"+(arg0+1)+"个界面", Toast.LENGTH_SHORT).show();
    }
    }

    ViewFlipper用法:
    加载的资源一般为ImageView


     
     
  • 相关阅读:
    [这不是Windows Phone 7]FitnessTrackerPlus(健身)三.登录及MD5加密
    [Windows Phone 7璀璨]北漂1.0在线歌词播放器三.歌词下载
    [Windows Phone 7璀璨]北漂1.0在线歌词播放器四.独立储存空间歌词的读取(完结)
    [原创]Xcode 4.6 安装 Boost 1.53.0
    [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]第零章项目简介
    [笔记]Cocoa训练营cocos2d游戏编程篇动画
    [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]第一章FitnessTrackerPlus应用程序概述
    [笔记]Cocoa训练营内存管理篇
    Android_相关路径
    Dynamics AX2009 Report step by step
  • 原文地址:https://www.cnblogs.com/cct1314520/p/6437904.html
Copyright © 2011-2022 走看看