zoukankan      html  css  js  c++  java
  • 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) {
    
                }
            });
    
            
        }
    }
  • 相关阅读:
    Android之ActionBar的样式使用
    Android之在View中执行Activity的跳转
    Android之百度定位API使用
    那些年掉进过的Android坑之Fragment系列
    Android UI设计框架[1]: ViewPager+Fragment实现底部图标文字的导航栏(IconTabPageIndicator)
    SQLite3初探
    【GDOI2018模拟7.9】期末考试
    【ZJOJ1321】灯
    【NOIP2016提高A组模拟8.23】函数
    【ZJOJ5186】【NOIP2017提高组模拟6.30】tty's home
  • 原文地址:https://www.cnblogs.com/g-sheng/p/5412289.html
Copyright © 2011-2022 走看看