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