【Android您問我講】超炫的左右滑動效果 – ViewPager的使用

來源:互聯網
上載者:User

1. 範例說明 

•android-support-v4.jar,這是Google官方給我們提供的一個相容低版本Android裝置的軟體包,裡麵包囊了只有在Android 3.0以上可以使用的api。而ViewPager就是其中之一,利用它我們可以做很多事情,從最簡單的導航,到頁面切換菜單等等。•ViewPager的功能就是可以使視圖滑動,就像Lanucher左右滑動那樣。•本Demo向大家示範ViewPager的使用,並在使用者未滑動View時,每隔5s鐘自動切換到下一個View(迴圈切換),而當使用者有Touch到View時取消5s自動切換功能。並有指標指示當前處於哪一個View。

 2. 運行結果

3. 核心代碼

 private void initViewPager() {

advPager = (ViewPager) findViewById(R.id.adv_pager);ViewGroup group = (ViewGroup) findViewById(R.id.viewGroup);List<View> advPics = new ArrayList<View>();ImageView img1 = new ImageView(this);img1.setBackgroundResource(R.drawable.advertising_default_1);advPics.add(img1);ImageView img2 = new ImageView(this);img2.setBackgroundResource(R.drawable.advertising_default_2);advPics.add(img2);ImageView img3 = new ImageView(this);img3.setBackgroundResource(R.drawable.advertising_default_3);advPics.add(img3);ImageView img4 = new ImageView(this);img4.setBackgroundResource(R.drawable.advertising_default);advPics.add(img4);imageViews = new ImageView[advPics.size()];for (int i = 0; i < advPics.size(); i++) {imageView = new ImageView(this);imageView.setLayoutParams(new LayoutParams(20, 20));imageView.setPadding(5, 5, 5, 5);imageViews[i] = imageView;if (i == 0) {imageViews[i].setBackgroundResource(R.drawable.banner_dian_focus);} else {imageViews[i].setBackgroundResource(R.drawable.banner_dian_blur);}group.addView(imageViews[i]);}advPager.setAdapter(new AdvAdapter(advPics));advPager.setOnPageChangeListener(new GuidePageChangeListener());advPager.setOnTouchListener(new OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()) {case MotionEvent.ACTION_DOWN:case MotionEvent.ACTION_MOVE:isContinue = false;break;case MotionEvent.ACTION_UP:isContinue = true;break;default:isContinue = true;break;}return false;}});new Thread(new Runnable() {@Overridepublic void run() {while (true) {if (isContinue) {viewHandler.sendEmptyMessage(what.get());whatOption();}}}}).start();}

 4. 擴充學習與視頻講解

http://www.eyeandroid.com/thread-11355-1-1.html

 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.