ViewPager

画小圆点

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

本地图片

public class MainActivity extends Activity {
	private ViewPager vp;
	private GridView gv;
	private List<View> list = new ArrayList<View>();
	private View v1;
	private View v4;
	private View v2;
	private View v3;
	private RadioGroup rg;
	private List<Bean> list1;
	private LinearLayout lin;
	private ArrayList<ImageView> listima;
	private Handler hand = new Handler() {
		public void handleMessage(android.os.Message msg) {
			int item = vp.getCurrentItem();
			// 条目索引+1
			item++;
			vp.setCurrentItem(item);
			hand.sendEmptyMessageDelayed(0, 2000);
		};
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Init();
	}

	public void Init() {
		lin = (LinearLayout) findViewById(R.id.la);
		rg = (RadioGroup) findViewById(R.id.radioGroup1);
		vp = (ViewPager) findViewById(R.id.vp);
		gv = (GridView) findViewById(R.id.gridView1);
		v1 = View.inflate(this, R.layout.v1, null);
		v2 = View.inflate(this, R.layout.v2, null);
		v3 = View.inflate(this, R.layout.v3, null);
		v4 = View.inflate(this, R.layout.v4, null);
		list.add(v1);
		list.add(v2);
		list.add(v3);
		list.add(v4);
		vp.setAdapter(new PagerAdapter() {

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

			@Override
			public int getCount() {

				return Integer.MAX_VALUE;
			}

			@Override
			public void destroyItem(ViewGroup container, int position,
					Object object) {

				container.removeView(list.get(position % list.size()));
			}

			@Override
			public Object instantiateItem(ViewGroup container, int position) {
				View v = list.get(position % list.size());
				v.setOnTouchListener(new OnTouchListener() {

					@Override
					public boolean onTouch(View v, MotionEvent event) {
						switch (event.getAction()) {
						// 按下
						case MotionEvent.ACTION_DOWN:
							// 移除所有的回调和消息
							hand.removeCallbacksAndMessages(null);
							break;
						// 抬起
						case MotionEvent.ACTION_UP:
							hand.sendEmptyMessageDelayed(0, 2000);
							break;
						// 取消的时候,继续
						case MotionEvent.ACTION_CANCEL:
							hand.sendEmptyMessageDelayed(0, 3000);
							break;

						default:
							break;
						}// TODO Auto-generated method stub
						return true;
					}
				});
				container.addView(v);
				return v;
			}

		});
		vp.setCurrentItem(list.size() * 100000);
		// 设置延时切换 发送延时消息
		hand.sendEmptyMessageDelayed(0, 2000);
		vp.setOnPageChangeListener(new OnPageChangeListener() {

			@Override
			public void onPageSelected(int arg0) {
				for (int j = 0; j < listima.size(); j++) {
					if (j == arg0 % listima.size()) {
						listima.get(j).setImageResource(R.drawable.ite2);
					} else {
						listima.get(j).setImageResource(R.drawable.ite);
					}
				}
				for (int i = 0; i < list.size(); i++) {
					if (arg0 == i) {
						RadioButton rb = (RadioButton) rg.getChildAt(i);
						rb.setChecked(true);
					}
				}

			}

			@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

			}
		});
		/*
		rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				switch (checkedId) {
				case R.id.radio0:
					vp.setCurrentItem(0);
					break;
				case R.id.radio1:
					vp.setCurrentItem(1);
					break;
				case R.id.radio2:
					vp.setCurrentItem(2);
					break;
				case R.id.radio3:
					vp.setCurrentItem(3);
					break;

				default:
					break;
				}
			}
		});
		*/
		// 加载小圆点
		loadima();
		// get();
	}

	public void loadima() {
		listima = new ArrayList<ImageView>();
		for (int i = 0; i < list.size(); i++) {
			ImageView image = new ImageView(this);
			if (i == 0) {
				image.setImageResource(R.drawable.ite2);
			} else {
				image.setImageResource(R.drawable.ite);
			}

			LayoutParams params = new LayoutParams(15, 15);
			params.setMargins(5, 0, 5, 0);

			lin.addView(image, params);
			listima.add(image);
		}
	}

 
<corners android:radius="8dp"/>
<solid android:color="#fff"/>
</shape>

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
<corners android:radius="8dp"/>
<solid android:color="#88000000"/>
</shape>

网络图片

View v = View.inflate(context, R.layout.vpitem, null);
        ImageView ima = (ImageView) v.findViewById(R.id.vpitemima);

用imageloader加载并 拼接路径

    ImageLoader image = ImageLoader.getInstance();
        image.displayImage(
                "http://172.17.29.120/localuser/loupengfei/kaoshi/gv/"
                        + list.get(position%list.size()), ima);

如果是从网上获取图片

public void getvp() {
		String st2 = "http://172.17.29.120/localuser/loupengfei/kaoshi/gv/ad.json";
		Util uti = new Util() {

			@Override
			protected void onPostExecute(String result) {
				Gson gson = new Gson();
				List<Beanvp> list = gson.fromJson(result,
						new TypeToken<List<Beanvp>>() {
						}.getType());
				
				Log.d(TAG, list.size() + "size");
				listima = new ArrayList<String>();
				for (Beanvp beanvp : list) {
					listima.add(beanvp.src);
				}
				Log.d(TAG, listima.size() + "ASsize");
				Pageradapter pag = new Pageradapter(listima, MainActivity.this);
				vp.setAdapter(pag);
				
				inityuandian();
				vp.setCurrentItem(listima.size()*100000);				
				handler.sendEmptyMessageDelayed(0, 2000);
				super.onPostExecute(result);
			}
		};
		uti.execute(st2);

	}

猜你喜欢

转载自zhengaihua.iteye.com/blog/2325007