viewPager

原创 2016年06月01日 21:11:25
package com.example.day_12_viewpager;

import android.os.Bundle;
import android.app.Activity;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;

public class MainActivity extends Activity {
    String[] path = new String[] {
            "http://imgs.juheapi.com/comic_xin/zbfOxNfWRA==/5010/6-NTAxMDY=.jpg",
            "http://imgs.juheapi.com/comic_xin/zbfOxNfWRA==/5010/16-NTAxMDE2.jpg",
            "http://imgs.juheapi.com/comic_xin/zbfOxNfWRA==/5010/23-NTAxMDIz.jpg",
            "http://imgs.juheapi.com/comic_xin/zbfOxNfWRA==/5010/59-NTAxMDU5.jpg" };
    private LinearLayout ll;
    //记录小圆点的位置
int lastIndex;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ViewPager vp = (ViewPager) findViewById(R.id.vp);

        ll = (LinearLayout) findViewById(R.id.ll);

        vp.setAdapter(new MyPagerAdapter(path, this));

        vp.setCurrentItem(Integer.MAX_VALUE / 2 - Integer.MAX_VALUE / 2
                % path.length);

        vp.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                
                
                
              //取出正确的角标
                int index = arg0 % path.length;
                //取出LinearLayout里当前的imageView
                ImageView imageView = (ImageView) ll.getChildAt(index);
                imageView.setEnabled(false);
                
                ImageView lastImageView = (ImageView) ll.getChildAt(lastIndex);
                lastImageView.setEnabled(true);
                
                //记录当前圆点位置,做为下一次执行onPageSelected方法,变黑的ImageView的位置
                lastIndex=index;
            
            
            }

            @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

            }
        });

        setPonit();

    }

    /**
     * 添加小圆点
     */
    private void setPonit() {

        // 小圆点要与图片的个数一致
        for (int i = 0; i < path.length; i++) {
            // 创建imageView
            ImageView imageView = new ImageView(this);
            // 设置小圆点的资源文件
            imageView.setBackgroundResource(R.drawable.backcolor);
            // LayoutParams对象的类型,取决于该控件的父控件类型
            LayoutParams layoutParams = new LayoutParams(
                    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
            // 设置有右间距
            layoutParams.rightMargin = 15;
            // 设置imageView的属性
            imageView.setLayoutParams(layoutParams);
            //初始化第一个小点的颜色
            if (i == 0) {
                imageView.setEnabled(false);
            }
            // 把imageView添加到父控件
            ll.addView(imageView);

        }

    }

}





/**
 *
 */
package com.example.day_12_viewpager;

import com.lidroid.xutils.BitmapUtils;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

/**
 * @author WJL
 *
 */
public class MyPagerAdapter extends PagerAdapter {
    String[] path;
    Context context;
    BitmapUtils bitmapUtils;

    /**
     * @param path
     */
    public MyPagerAdapter(String[] path, Context context) {

        this.path = path;
        this.context = context;

        // Xutils里请求网络图片的工具类
        bitmapUtils = new BitmapUtils(context);

    }

    @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {

        ImageView imageView = new ImageView(context);

        int i = position % path.length;

        bitmapUtils.display(imageView, path[i]);

        container.addView(imageView);

        return imageView;

    }

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

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

        container.removeView((View) object);

    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android viewPager实现引导页

  • 2017-09-12 18:15
  • 19.34MB
  • 下载

ViewPager + Fragment实现滑动标签页

ViewPager 结合Fragment实现一个Activity里包含多个可滑动的标签页,每个标签页可以有独立的布局及响应。 activity_main.xml [html] view...

ViewPager Demo

  • 3天前 11:46
  • 14.98MB
  • 下载

无限轮播ViewPager的实现

MainActivity package com.jiangtea.vpdemo; import android.app.Activity; import android.os.Bundle; im...

自定义viewpager

  • 2016-03-29 12:01
  • 2.77MB
  • 下载

ViewPager(改好的源码,防止预加载)

package com.srm.base;/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under t...

android 实现ViewPager

  • 2016-04-04 18:40
  • 2.12MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)