• ViewPager


    package com.k1.description;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import android.os.Bundle;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.view.animation.AlphaAnimation;
    
    public class WelcomeActivity extends BaseActivity {
    
        private static final int[] PAGERS = new int[] { R.layout.activity_welcome_pager1, R.layout.activity_welcome_pager4,
                R.layout.activity_welcome_pager1, R.layout.activity_welcome_pager4, R.layout.activity_welcome_pager1 };
    
        private ViewGroup mPoints;
        private int mLast = 0;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_welcome);
            mPoints = (ViewGroup) findViewById(R.id.points);//滑动时移动的圆点
            View view = mPoints.getChildAt(0);
            view.setBackgroundResource(R.drawable.point_selected);
    
            ViewPager vp = (ViewPager) findViewById(R.id.viewpager);
            vp.setAdapter(new PagerAdapter() {
    
                Map<Integer, View> viewMap = new HashMap<Integer, View>();
    
                @Override
                public int getCount() {
                    return 5;
                }
    
                @Override
                public void destroyItem(ViewGroup container, int position, Object object) {
                    ((ViewPager) container).removeView(viewMap.get(position));
                }
    
                @Override
                public Object instantiateItem(ViewGroup container, int position) {
                    View view = viewMap.get(position);
                    if (view == null) {
                        view = getLayoutInflater().inflate(PAGERS[position], null);
                        AlphaAnimation a = new AlphaAnimation(0.5f, 1);
                        a.setDuration(300);
                        view.startAnimation(a);
                        viewMap.put(Integer.valueOf(position), view);
                    }
                    ((ViewPager) container).addView(view);
                    return view;
                }
    
                @Override
                public boolean isViewFromObject(View arg0, Object arg1) {
                    return arg0 == arg1;
                }
    
                @Override
                public int getItemPosition(Object object) {
                    return super.getItemPosition(object);
                }
    
            });
    
            vp.setOnPageChangeListener(new OnPageChangeListener() {
                @Override
                public void onPageSelected(int position) {
                    for (int i = 0; i < mPoints.getChildCount(); i++) {
                        View view = mPoints.getChildAt(i);
                        if (i == mLast) {
                            view.setBackgroundResource(R.drawable.point_unselected);
                        }
                        if (i == position) {
                            view.setBackgroundResource(R.drawable.point_selected);
                        }
                    }
                    mLast = position;
                }
    
                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                }
    
                @Override
                public void onPageScrollStateChanged(int arg0) {
    
                }
            });
    
            
        }
    }
  • 相关阅读:
    [CFNews] Ediscovery: 4 scenarios that call for computer forensics
    [CFNews] MacForensicsLab发布MacLockPick 3.0
    [CFNews] Logicube也欲分“山寨机”取证一杯羹
    [CFNews] Tableau 发布全功能只读接口T35689iu
    [转载] Windows 8 TypedURLsTime
    [CFNews] Guidance发布EnCase V7.04.01中文及英文版
    [CFNews] AIS Inc. 发布苹果取证产品MacResponse LE
    [CFNews] Office 20072010、PGP全盘加密快速破解,Passware Kit 11.7发布
    [CFNews] GSI发布EnCase v7.04
    [CFNews] Paraben发布ProjectAPhone新型号ICD8000
  • 原文地址:https://www.cnblogs.com/g-sheng/p/5412289.html
Copyright © 2020-2023  润新知