private void initViews() { arrViews = new ArrayList<View>(); baseView = new FrameLayout(context); mViewPager = new ViewPager(context); llDots = new LinearLayout(context); llDots.setOrientation(RadioGroup.HORIZONTAL); llDots.setGravity(Gravity.CENTER_HORIZONTAL); LinearLayout.LayoutParams paramsGroup = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, (int) (20 * fDensity)); paramsGroup.gravity = Gravity.CENTER_HORIZONTAL; llDots.setLayoutParams(paramsGroup); if (resIds == null) return; for (int i = 0; i < resIds.length; i++) { ImageView iv = new ImageView(context); iv.setId(i); iv.setTag(i); iv.setOnClickListener(mClick); iv.setOnTouchListener(onTouch); iv.setBackgroundResource(resIds[i]); arrViews.add(iv); RelativeLayout rl = new RelativeLayout(context); android.widget.RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT); layoutParam.addRule(RelativeLayout.CENTER_VERTICAL); ImageView dot = new ImageView(context); dot.setId(i); if (i == 0) { dot.setImageResource(dotResId1); } else { dot.setImageResource(dotResId2); } rl.addView(dot, layoutParam); rl.setPadding(0, 0, (int) (13 * fDensity), 0); llDots.addView(rl); } LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); baseView.addView(mViewPager, params); pageItemAdapter = new PageItemAdapter(arrViews); mViewPager.setAdapter(pageItemAdapter); mViewPager.setOnPageChangeListener(mPageChange); LayoutParams params2 = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, (int) (20 * fDensity)); params2.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL; params2.bottomMargin = (int) (10 * fDensity); baseView.addView(llDots, params2); initPage(); addContentView(); }