Android中图片的无限轮播
来源:互联网 发布:叶利钦与普京 知乎 编辑:程序博客网 时间:2024/06/07 13:09
MainActivity中:
String []imgArray={"http://img3.imgtn.bdimg.com/it/u=2685347427,857849712&fm=21&gp=0.jpg","http://img1.imgtn.bdimg.com/it/u=4202140919,772960800&fm=21&gp=0.jpg","http://img4.imgtn.bdimg.com/it/u=3646050487,856369339&fm=21&gp=0.jpg","http://img2.imgtn.bdimg.com/it/u=2602918815,692833193&fm=21&gp=0.jpg" };private LinearLayout ll;Handler handler=new Handler(){public void handleMessage(android.os.Message msg) {super.handleMessage(msg);int currentItem=vp.getCurrentItem();currentItem++;vp.setCurrentItem(currentItem);handler.sendEmptyMessageDelayed(0, 2000);};};private ViewPager vp;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);vp = (ViewPager)findViewById(R.id.vp);ll = (LinearLayout)findViewById(R.id.ll);vp.setAdapter(new Myadapter(this, imgArray, handler));initDots();vp.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stubfor(int i=0;i<imgArray.length;i++){ImageView imageView=(ImageView)ll.getChildAt(i);if(i==arg0%imgArray.length){imageView .setImageResource(R.drawable.point_selected);}else{imageView .setImageResource(R.drawable.point_mormal);}}}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {}@Overridepublic void onPageScrollStateChanged(int arg0) {}});vp.setCurrentItem(imgArray.length*1000);handler.sendEmptyMessageDelayed(0, 2000);}@Overrideprotected void onStop() {super.onStop();//移除所有消息和任务handler.removeCallbacksAndMessages(null);}private void initDots() {// TODO Auto-generated method stubfor(int i=0;i<imgArray.length;i++){ImageView iv=new ImageView(this);if(i==0){//变亮iv.setImageResource(R.drawable.point_selected);}else{iv.setImageResource(R.drawable.point_mormal);}LayoutParams params=new LayoutParams(20,20);params.setMargins(5, 2, 5, 2);ll.addView(iv,params);}}Myadapter extends PagerAdapter:
private Context context;private String [] imgarray;private Handler handler;public Myadapter(Context context, String[] imgarray,Handler handler) {super();this.context = context;this.imgarray = imgarray;this.handler=handler;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn Integer.MAX_VALUE;}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0==arg1;}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {// TODO Auto-generated method stubcontainer.removeView((View) object);}@Overridepublic Object instantiateItem(ViewGroup container, int position) {// TODO Auto-generated method stubImageView imageView=new ImageView(context);imageView.addOnPageChangeListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:handler.removeCallbacksAndMessages(null);break;case MotionEvent.ACTION_UP:case MotionEvent.ACTION_CANCEL:handler.sendEmptyMessageDelayed(0, 2000);break;default:break;}return true;}});BitmapUtils bitmapUtils=new BitmapUtils(context);bitmapUtils.display(imageView, imgarray[position%imgarray.length]);container.addView(imageView);return imageView;}layout:
<android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ll" android:gravity="center_horizontal" android:layout_alignBottom="@id/vp" android:orientation="horizontal" ></LinearLayout>
1 0
- Android中图片的无限轮播
- 图片的无限轮播
- 图片的无限轮播
- ScrollView中图片的无限轮播(精简)
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- 图片无限轮播
- ViewPager的图片无限轮播
- Swift无限循环的图片轮播
- 带黑点的无限图片轮播
- 网络加载图片的无限轮播
- 支持图片无限轮播的BannerLayout
- 分页
- 浅谈System属性SystemProperties
- linux 消息队列实现通信
- hadoop及其集群
- linux信号实现机制详解
- Android中图片的无限轮播
- 事务的ACID属性&5种状态
- yii框架全选反选批量删除
- 印制电路板PCB工艺设计规范特殊定义
- PHP加密,JS解密
- PCBA加工工艺设计规范内容
- 第九周OJ1统计出其中英文字母、数字、空格和其他字符的个数
- POJ 2430 状压DP
- 第三方登陆