图片自动变换
来源:互联网 发布:评估数据库表的设计 编辑:程序博客网 时间: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
- 图片自动变换
- 非常流行的图片自动变换
- Jquery特效六:图片自动变换特效
- 图片变换
- textarea自动变换高度
- 把图片变换颜色!
- 图片梦幻变换
- 图片的大小变换
- 图片的大小变换
- JS图片的变换
- 刷新变换图片代码
- js实现图片变换
- 点击图片随机变换
- Android 之 图片变换
- 点击按钮图片变换
- 数组变换图片
- 图片简单变换
- 图片的变换
- **【杭电2066】一个人的旅行--多源多地 dijsktra
- C++系列——sizeof, strlen
- CentOS7安装和配置FTP
- 【poj1080】 Human Gene Functions
- HDU_1711解题报告
- 图片自动变换
- C输出回退符
- Android单排上王者系列之Dagger2注入原理解析
- 华为OJ——字符串合并处理
- 读书笔记(C++)——【标准IO库】
- ios 设置导航栏返回按钮的另一种方式
- iOS基于openssl的RSA公钥加解密
- 解决Qt5 安装Opengl后依然出现/usr/bin/ld: cannot find lGL
- Android APK反编译就这么简单 详解(附图)