ViewPager

draw dots

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

 

local image

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();
			// entry index +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()) {
						// press
						case MotionEvent.ACTION_DOWN:
							// remove all callbacks and messages
							hand.removeCallbacksAndMessages(null);
							break;
						// lift
						case MotionEvent.ACTION_UP:
							hand.sendEmptyMessageDelayed(0, 2000);
							break;
						// when canceled, continue
						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);
		// Set delay switching to send delay message
		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;
				}
			}
		});
		*/
		// load the dots
		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>

Web image

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

Load and concatenate paths with imageloader

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

 

If the picture is obtained from the Internet

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);

	}

 

 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326567218&siteId=291194637