导航页自动轮放图片

来源:互联网 发布:js实现百度热搜新闻词 编辑:程序博客网 时间:2024/05/01 14:43

////////////////////////////////////////////////////////////MainActivity///////////////////////////////////////////////////////////////////////////

public class MainActivity extends Activity {


    private ViewPager pager;
    private RadioGroup group;
    private ArrayList<View> list;
    private ViewPagerAdapter adapter;
    private Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            if (msg.what == 0) {
                int currentItem = pager.getCurrentItem();

                pager.setCurrentItem(currentItem + 1);

                handler.sendEmptyMessageDelayed(0, 1000);
            }
        };
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        pager = (ViewPager) findViewById(R.id.view_pager);

        group = (RadioGroup) findViewById(R.id.group);

        list = new ArrayList<View>();

        ImageView imageView1 = new ImageView(MainActivity.this);
        imageView1.setImageResource(R.drawable.a);
        imageView1.setScaleType(ScaleType.FIT_XY);

        ImageView imageView2 = new ImageView(MainActivity.this);
        imageView2.setImageResource(R.drawable.b);
        imageView2.setScaleType(ScaleType.FIT_XY);

        ImageView imageView3 = new ImageView(MainActivity.this);
        imageView3.setImageResource(R.drawable.c);
        imageView3.setScaleType(ScaleType.FIT_XY);

        ImageView imageView4 = new ImageView(MainActivity.this);
        imageView4.setImageResource(R.drawable.d);
        imageView4.setScaleType(ScaleType.FIT_XY);

        ImageView imageView5 = new ImageView(MainActivity.this);
        imageView5.setImageResource(R.drawable.e);
        imageView5.setScaleType(ScaleType.FIT_XY);

        // VideoView videoView = new VideoView(MainActivity.this);
        // videoView.setVideoPath("/data/iToolsVMShare/miniony.mp4");

        list.add(imageView1);
        list.add(imageView2);
        list.add(imageView3);
        list.add(imageView4);
        list.add(imageView5);

        adapter = new ViewPagerAdapter(list, handler);
        pager.setAdapter(adapter);

        handler.sendEmptyMessageDelayed(0, 1000);

        pager.setCurrentItem(list.size() * 10000);

        pager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                // TODO Auto-generated method stub
                group.check(group.getChildAt(arg0 % list.size()).getId());
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // TODO Auto-generated method stub

            }
        });

        // /////////////////RadioButton的点击事件//////////////////////
        // group.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        //
        // @Override
        // public void onCheckedChanged(RadioGroup group, int checkedId) {
        // // TODO Auto-generated method stub
        // for (int i = 0; i < list.size(); i++) {
        // if (group.getChildAt(i).getId() == checkedId) {
        // pager.setCurrentItem(i, false);
        // }
        // }
        // }
        // });

    }

}

/////////////////////////////////////////////////////////////////////////////////////////////////Adapter//////////////////////////////////////////////////////////////////////////////////////////////

public class ViewPagerAdapter extends PagerAdapter {

    ArrayList<View> list;
    Handler handler;

    public ViewPagerAdapter(ArrayList<View> list, Handler handler) {
        // TODO Auto-generated constructor stub
        this.list = list;
        this.handler = handler;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return Integer.MAX_VALUE;
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        // TODO Auto-generated method stub
        return arg0 == arg1;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        // TODO Auto-generated method stub
        container.addView(list.get(position % list.size()));
        return list.get(position % list.size());
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        // TODO Auto-generated method stub
        // super.destroyItem(container, position, object);
        container.removeView(list.get(position % list.size()));
    }
}


原创粉丝点击