zoukankan      html  css  js  c++  java
  • ViewPager滑动特效实现

    ewPager最常用于结合Fragment,这是一个方便的方式来供应和管理每个页面的生命周期。

    MainAcitivity的代码

    import java.util.ArrayList; 
    import java.util.List; 
    import android.os.Bundle; 
    import android.app.Activity; 
    import android.support.v4.view.PagerAdapter; 
    import android.support.v4.view.PagerTabStrip; 
    import android.support.v4.view.ViewPager; 
    import android.view.LayoutInflater; 
    import android.view.View; 
    import android.view.ViewGroup; 
        
    public class MainActivity extends Activity { 
        
        private View view1, view2, view3;// 需要滑动的页卡 
        private ViewPager viewPager; 
        private PagerTabStrip pagerTabStrip; 
        private List<View> viewList;// 把需要滑动的页卡添加到这个list中 
        private List<String> titleList;// viewpager的标题 
        
        @Override 
        public void onCreate(Bundle savedInstanceState) { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_main); 
            // 像普通控件一样先初始化 
            viewPager = (ViewPager) findViewById(R.id.viewpager); 
            pagerTabStrip = (PagerTabStrip) findViewById(R.id.pagertab); 
            pagerTabStrip.setDrawFullUnderline(false);//设置下划线不整页显示 
            pagerTabStrip.setTextSpacing(1000);//设置标题之间的距离 
            initView(); 
            MyAdapter pagerAdapter = new MyAdapter(); 
            viewPager.setAdapter(pagerAdapter); 
        } 
        //填充布局,设置每一页的标题 
        private void initView() { 
            view1 = findViewById(R.layout.layout1); 
            view2 = findViewById(R.layout.layout2); 
            view3 = findViewById(R.layout.layout3); 
            viewList = new ArrayList<View>();// 将要分页显示的View装入数组中 
            viewList.add(view1); 
            viewList.add(view2); 
            viewList.add(view3); 
            titleList = new ArrayList<String>();// 每个页面的Title数据 
            titleList.add("第一个页面"); 
            titleList.add("第二个页面"); 
            titleList.add("第三个页面"); 
        } 
        
        public class MyAdapter extends PagerAdapter { 
            @Override 
            public boolean isViewFromObject(View arg0, Object arg1) { 
        
                return arg0 == arg1; 
            } 
        
            @Override 
            public int getCount() { 
        
                return viewList.size(); 
            } 
        
            @Override 
            public void destroyItem(ViewGroup container, int position, Object object) { 
                container.removeView(viewList.get(position)); 
        
            } 
        
            @Override 
            public int getItemPosition(Object object) { 
        
                return super.getItemPosition(object); 
            } 
        
            @Override 
            public CharSequence getPageTitle(int position) { 
        
                return titleList.get(position); 
        
            } 
        
            // 将每一页的布局填充如ViewGroup容器中 
            @Override 
            public Object instantiateItem(ViewGroup container, int position) { 
                container.addView(viewList.get(position)); 
        
                return viewList.get(position); 
            } 
        
        }; 
        
    }

    main.xml

    <?xml version="1.0" encoding="utf-8"?>   
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
        android:layout_width="fill_parent"   
        android:layout_height="fill_parent"   
        android:orientation="vertical" >   
          
       <android.support.v4.view.ViewPager   
            android:id="@+id/viewpager"   
            android:layout_width="wrap_content"   
            android:layout_height="wrap_content"   
            android:layout_gravity="center" >   
                        
            <android.support.v4.view.PagerTabStrip     
                android:id="@+id/pagertab"     
                android:layout_width="wrap_content"     
                android:layout_height="wrap_content"     
                android:layout_gravity="top"/>    
               
                        
                     
             
                   
        </android.support.v4.view.ViewPager>   
          
    </LinearLayout>
  • 相关阅读:
    05Linux文件修改
    07Linux基本权限
    09Linux软件安装
    搬家
    web项目和单元测试
    session_start() 对 HTTP_REQUEST扩展/fsockopen函数 的影响
    从不同架构的角度进行web项目的需求分析和系统设计
    程序中的风险控制
    【原创】 书籍推荐
    【转载】10个效果最佳的编程字体
  • 原文地址:https://www.cnblogs.com/Jsonlu/p/4771655.html
Copyright © 2011-2022 走看看