Using ViewPager as the guide page for Android Development

Source: Internet
Author: User

It is believed that the boot page will not be unfamiliar to everyone. After a new App is installed for the first time, it will be similar, which is equivalent to instructions


Effect


Program directory structure


In the main layout, main. xml defines a frame layout. The number of points displayed on the page of viewPager

 <frameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >            
         
          
          
      
 </frameLayout>

Pager1.xml layout of each View

 
     
  
 
The other two views are similar.

In the main Activity

Package com. example. viewpagerdemo; import java. util. arrayList; import java. util. list; import android. app. activity; import android. OS. bundle; import android. support. v4.view. pagerAdapter; import android. support. v4.view. viewPager; import android. support. v4.view. viewPager. onPageChangeListener; import android. view. layoutInflater; import android. view. view; import android. widget. imageView; public class MainActivity extends Activity {private ViewPager viewPager = null; private ImageView img1, img2, img3; private ArrayList
 
  
Titles; private int curIndex =-1; @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. main); initWidgets (); // loads the View to be displayed into the array LayoutInflater li = LayoutInflater. from (this); View view1 = li. inflate (R. layout. pager1, null); View view2 = li. inflate (R. layout. pager2, null); View view3 = li. inflate (R. layout. pager3, null); // Add the final ArrayList page
  
   
Views = new ArrayList
   
    
(); Views. add (view1); views. add (view2); views. add (view3); // add the title titles = new ArrayList
    
     
(); Titles. add ("tab1"); titles. add ("tab2"); titles. add ("tab3"); picViewPagerAdapter pagerAdapter = new picViewPagerAdapter (views); viewPager. setAdapter (pagerAdapter); curIndex = 1; viewPager. setCurrentItem (curIndex); img2.setImageResource (R. drawable. page_icon_sel); viewPager. setOnPageChangeListener (new OnPageChangeListener () {@ Overridepublic void onPageSelected (int arg0) {// TODO Auto-generated method stubswitch (arg0) {case 0: img1.setImageResource (R. drawable. page_icon_sel); img2.setImageResource (R. drawable. page_icon); img3.setImageResource (R. drawable. page_icon); break; case 1: img2.setImageResource (R. drawable. page_icon_sel); img1.setImageResource (R. drawable. page_icon); img3.setImageResource (R. drawable. page_icon); break; case 2: img3.setImageResource (R. drawable. page_icon_sel); img2.setImageResource (R. drawable. page_icon); img1.setImageResource (R. drawable. page_icon); break; default: break;} curIndex = arg0; System. out. println ("[MainActivity->] currIndex =" + curIndex) ;}@ Overridepublic void onPageScrolled (int arg0, float arg1, int arg2) {// TODO Auto-generated method stub} @ Overridepublic void onPageScrollStateChanged (int arg0) {// TODO Auto-generated method stub});} private void initWidgets () {viewPager = (ViewPager) findViewById (R. id. viewpager); img1 = (ImageView) findViewById (R. id. icon_1); img2 = (ImageView) findViewById (R. id. icon_2); img3 = (ImageView) findViewById (R. id. icon_3);}/*** add an adapter for ViewPager ** @ author Administrator **/class picViewPagerAdapter extends PagerAdapter {private List
     
      
ListViews; public picViewPagerAdapter (List
      
        List) {listViews = list;} @ Overridepublic int getCount () {// TODO Auto-generated method stubreturn listViews. size () ;}@ Overridepublic boolean isViewFromObject (View arg0, Object arg1) {// TODO Auto-generated method stubreturn arg0 == arg1 ;}@ Overridepublic void destroyItem (View container, int position, Object object) {(ViewPager) container ). removeView (listViews. get (position) ;}@ Overridepublic CharSequence getPageTitle (int position) {return titles. get (position) ;}@ Overridepublic Object instantiateItem (View container, int position) {(ViewPager) container ). addView (listViews. get (position); return listViews. get (position );}}}
      
     
    
   
  
 
Each small dot is changed through the viewpager listener.

viewPager.setOnPageChangeListener(new OnPageChangeListener() {@Overridepublic void onPageSelected(int arg0) {// TODO Auto-generated method stubswitch (arg0) {case 0:img1.setImageResource(R.drawable.page_icon_sel);img2.setImageResource(R.drawable.page_icon);img3.setImageResource(R.drawable.page_icon);break;case 1:img2.setImageResource(R.drawable.page_icon_sel);img1.setImageResource(R.drawable.page_icon);img3.setImageResource(R.drawable.page_icon);break;case 2:img3.setImageResource(R.drawable.page_icon_sel);img2.setImageResource(R.drawable.page_icon);img1.setImageResource(R.drawable.page_icon);break;default:break;}curIndex = arg0;System.out.println("[MainActivity->]currIndex = " + curIndex);}@Overridepublic void onPageScrolled(int arg0, float arg1, int arg2) {// TODO Auto-generated method stub}@Overridepublic void onPageScrollStateChanged(int arg0) {// TODO Auto-generated method stub}});

Complete Demo download: http://download.csdn.net/detail/deng0zhaotai/7272609

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.