图片自动变换

来源:互联网 发布:评估数据库表的设计 编辑:程序博客网 时间:2024/04/29 16:39
public class ShouyeFragment extends Fragment {
    // 声明定时器Handle    private int flag = 0; // 标示viewpage 滑动到第几个item    private static final int ANIMATION_TIMES = 2500;// 定时的时间间隔    private Handler myHandler = new Handler() {        @Override        public void handleMessage(Message msg) {            switch (msg.what) {                case 0:                    souyouviewPager                            .setCurrentItem(flag = ((flag + 1) % fragments.length));                    myHandler.sendEmptyMessageDelayed(0, ANIMATION_TIMES);                    break;                default:                    break;            }        }    };    // 声明ViewPager和LinearLayout    private ViewPager souyouviewPager;    private LinearLayout souyoulinearLayout;    // 声明Fragment数组    private Fragment[] fragments;    // 声明IMG数组    private ImageView[] imgs;
public void onActivityCreated(Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        // 关联ViewPager的空间方法        initViewpager();        // ViewPager适配器        souyouviewPager.setAdapter(new MyViewpagerAdpater(                getChildFragmentManager()));        // ViewPager滑动监听        souyouviewPager                .setOnPageChangeListener(new ViewPager.OnPageChangeListener() {                    @Override                    public void onPageSelected(int arg0) {                        selectorDian(arg0);                        // 当监听到滑动时,从当前Item继续定时                        flag = arg0;                        myHandler.removeMessages(0);                        myHandler.sendEmptyMessageDelayed(0, ANIMATION_TIMES);                    }                    @Override                    public void onPageScrolled(int arg0, float arg1, int arg2) {                    }                    @Override                    public void onPageScrollStateChanged(int arg0) {                    }                });        myHandler.sendEmptyMessageDelayed(0, ANIMATION_TIMES);    }    // 关联控件    private void initViewpager() {        //关联子项        souyouviewPager = (ViewPager) getActivity()                .findViewById(R.id.SYviewpager);        souyoulinearLayout = (LinearLayout) getActivity().findViewById(                R.id.souye_Viewpager_dian);        int count = souyoulinearLayout.getChildCount();        imgs = new ImageView[count];        for (int i = 0; i < imgs.length; i++) {            imgs[i] = (ImageView) souyoulinearLayout.getChildAt(i);        }        //声明Fragment数组        fragments = new Fragment[4];        fragments[0] = new SY_Fragment1();        fragments[1] = new SY_Fragment2();        fragments[2] = new SY_Fragment3();        fragments[3] = new SY_Fragment4();        for (int i = 0; i < imgs.length; i++) {            //子项监听            imgs[i].setEnabled(true);            imgs[i].setTag(i);            imgs[i].setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View arg0) {                    int item = (Integer) arg0.getTag();                    souyouviewPager.setCurrentItem(item);                    selectorDian(item);                    flag = item;                    myHandler.removeMessages(0);                    myHandler.sendEmptyMessageDelayed(0, ANIMATION_TIMES);                }            });        }        imgs[0].performClick();    }    private void selectorDian(int index) {        for (int i = 0; i < imgs.length; i++) {            imgs[i].setBackgroundResource(R.drawable.dot1);            imgs[i].setEnabled(true);  //设为可选中        }        imgs[index].setBackgroundResource(R.drawable.dot2);        imgs[index].setEnabled(false); //设为不可选中    }    //ViewPager适配器设置    class MyViewpagerAdpater extends FragmentPagerAdapter {        public MyViewpagerAdpater(FragmentManager ftm) {            super(ftm);        }        @Override        public Fragment getItem(int arg0) {            return fragments[arg0];        }        @Override        public int getCount() {            return imgs.length;        }    }}
在对应的布局文件中
<LinearLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    ><FrameLayout    android:layout_width="match_parent"    android:layout_height="wrap_content"    >   <android.support.v4.view.ViewPager        android:id="@+id/SYviewpager"        android:layout_width="match_parent"        android:layout_height="150dp"/>    <LinearLayout        android:id="@+id/souye_Viewpager_dian"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        android:layout_marginLeft="150dp"        android:layout_marginTop="130dp"        >        <ImageView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />        <ImageView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />        <ImageView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />        <ImageView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />    </LinearLayout></FrameLayout>
效果图

0 0
原创粉丝点击