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