Public class MyActivity extends Activity { Private BackGroundImage mImg; Private ViewPager mViewPager; Private List <View> mViewLists; Private List <Drawable> mDrawableLists; Private static final int ALL = 5; @ Override Protected void onCreate (Bundle savedInstanceState ){ Super. onCreate (savedInstanceState ); SetContentView (R. layout. activity_my ); InitViews (); MImg. setmDrawableLists (mDrawableLists ); MViewPager. setAdapter (new MyAdapter ()); MViewPager. setOnPageChangeListener (new ViewPager. OnPageChangeListener (){ @ Override Public void onPageScrolled (int I, float v, int i2 ){ MImg. setmDegree (v ); MImg. setmPosition (I ); MImg. invalidate (); // refresh } @ Override Public void onPageSelected (int I ){ } @ Override Public void onPageScrollStateChanged (int I ){ } }); } Private void initViews (){ MImg = (BackGroundImage) findViewById (R. id. img ); MViewPager = (ViewPager) findViewById (R. id. viewPager ); MViewLists = new ArrayList <View> (); MDrawableLists = new ArrayList <Drawable> (); For (int I = 0; I <ALL; I ++ ){ View view = getLayoutInflater (). inflate (R. layout. vp, null ); MViewLists. add (view ); If (I % 2 = 0 ){ MDrawableLists. add (getResources (). getDrawable (R. drawable. bg_img1 )); } Else { MDrawableLists. add (getResources (). getDrawable (R. drawable. bg_img2 )); } } } Class MyAdapter extends PagerAdapter { @ Override Public int getCount (){ Return mViewLists. size (); } @ Override Public boolean isViewFromObject (View view, Object o ){ Return view = o; } @ Override Public void destroyItem (ViewGroup container, int position, Object object Object ){ (ViewPager) container). removeView (mViewLists. get (position )); // Super. destroyItem (container, position, object ); } @ Override Public Object instantiateItem (ViewGroup container, int position ){ View v = mViewLists. get (position ); TextView textView = (TextView) v.findViewById(R.id.txt ); TextView. setText ("nth" + position + ""); (ViewPager) container). addView (v ); Return v; } } } |