Android開發之ViewPager的簡單使用

來源:互聯網
上載者:User

標籤:建立   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的簡單使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.