標籤:建立 roi ima android開發 wpa oncreate src back bool
ViewPager是V4包中的,如果你的編譯器敲不出ViewPager,那麼你就需要添加,看下面:
第一步:點擊+號
第二步:選擇第一個Library
第三步:添加這個包:
然後點擊ok-->ok就搞定了,編譯器會從新進行先行編譯。
下面就是重點了,我們先看布局檔案:
1 <android.support.v4.view.ViewPager2 android:id="@+id/ViewPager"3 android:layout_width="match_parent"4 android:layout_height="match_parent"5 />
ps:果然敲的時候有自動提示,說明你添加成功了。
然後是代碼:
1 public class MainActivity extends Activity { 2 3 private ViewPager viewPager; 4 private ArrayList<ImageView> mImageViewList; 5 private int[] mImagerIds = new int[]{R.drawable.guide_1,R.drawable.guide_2,R.drawable.guide_3}; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState);10 setContentView(R.layout.activity_main);11 12 viewPager = (ViewPager) findViewById(R.id.ViewPager);13 initData();14 ViewPagerAdapter adapter = new ViewPagerAdapter();15 viewPager.setAdapter(adapter);16 }17 18 19 20 public void initData(){21 mImageViewList = new ArrayList<>();22 //把所有的ImageView都添加都mImageViewList的集合中23 for (int i=0; i<mImagerIds.length; i++){24 //建立一個ImgeView將圖片資源添加到ImageView中25 ImageView imageView = new ImageView(this);26 imageView.setBackgroundResource(mImagerIds[i]);27 //將ImageView添加到mImageViewList的集合中28 mImageViewList.add(imageView);29 }30 31 }32 33 class ViewPagerAdapter extends PagerAdapter {34 35 //item的個數36 @Override37 public int getCount() {38 return mImageViewList.size();39 }40 41 @Override42 public boolean isViewFromObject(View view, Object object) {43 return view==object;44 }45 46 //初始化item布局47 @Override48 public Object instantiateItem(ViewGroup container, int position) {49 ImageView imageView = mImageViewList.get(position);50 container.addView(imageView);//將imageView添加進來51 return imageView;//將imageView返回52 }53 54 //銷毀Item55 @Override56 public void destroyItem(ViewGroup container, int position, Object object) {57 //super.destroyItem(container, position, object);//如果用這個一出Item的話滑到最後一個會報錯58 container.removeView((View)object);59 }60 }61 }
思路:先將圖片資源放到一個int[]中,然後在for迴圈裡面迴圈建立ImageView設定圖片資源,再把ImageView添加到ArrayList集合中,然後在instantiateItem()方法中初始化item,把ImageView集合中的ImageView添加到ViewGroup中,然後返回ImageView,銷毀ImageView的時候不能用super.destroyItem(container, position, object);,這個會導致滑到最後一個ImageView時報錯。
Android開發之ViewPager的簡單使用