Android ViewPager 基础(1)

1.activity_main.xml

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10 
11         <android.support.v4.view.ViewPager
12         android:id="@+id/viewPager"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:layout_gravity="center"
16         >
17         
18         <android.support.v4.view.PagerTitleStrip
19             android:id="@+id/title1"
20             android:layout_width="wrap_content"
21             android:layout_height="wrap_content"
22             android:layout_gravity="top"
23             >
24         </android.support.v4.view.PagerTitleStrip>
25     </android.support.v4.view.ViewPager>
26 
27 </RelativeLayout>
View Code

2.input_record.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <TextView
 8         android:id="@+id/textView1"
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:layout_gravity="center"
12         android:layout_weight="1"
13         android:gravity="center"
14         android:text="收入" />
15 
16 </LinearLayout>
View Code

3.expendituer.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <TextView
 8         android:id="@+id/textView3"
 9         android:layout_width="match_parent"
10         android:layout_height="match_parent"
11         android:gravity="center"
12         android:text="转移" />
13 
14 </LinearLayout>
View Code

4.MyPagerAdapter.java

 1 package com.example.viewpagerdemo003;
 2 
 3 import java.util.List;
 4 
 5 import android.support.v4.view.PagerAdapter;
 6 import android.view.View;
 7 import android.view.ViewGroup;
 8 
 9 public class MyPagerAdapter extends PagerAdapter  {
10 
11     private List<View> views = null;
12     private List<String> titles = null ;
13     public MyPagerAdapter(List<View> views,List<String>titles){
14         this.views = views ;
15         this.titles = titles;
16     }
17     
18     @Override
19     public int getCount() {
20         // TODO Auto-generated method stub
21         return views.size();
22     }
23 
24     @Override
25     public boolean isViewFromObject(View view, Object object) {
26         // TODO Auto-generated method stub
27         return view==object;
28     }
29 
30     @Override
31     public Object instantiateItem(ViewGroup container, int position) {
32         // TODO Auto-generated method stub
33         container.addView(views.get(position));
34         
35         return views.get(position);
36     }
37     @Override
38     public void destroyItem(ViewGroup container, int position, Object object) {
39         // TODO Auto-generated method stub
40         container.removeView(views.get(position));
41         super.destroyItem(container, position, object);
42     }
43     
44     @Override
45     public CharSequence getPageTitle(int position) {
46         // TODO Auto-generated method stub
47         return titles.get(position);
48     }
49 }
View Code

5.MainActivity.java

 1 package com.example.viewpagerdemo003;
 2 
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 
 6 import android.os.Bundle;
 7 import android.app.Activity;
 8 import android.support.v4.view.ViewPager;
 9 import android.view.LayoutInflater;
10 import android.view.Menu;
11 import android.view.View;
12 
13 public class MainActivity extends Activity {
14 
15     private View addInputRecordView,addExpenditureRecordView,addTransferRecordView;
16     private ViewPager viewPager ;
17     private List<View> views ;
18     private List<String> titles;
19     private MyPagerAdapter myPagerAdapter;
20     @Override
21     protected void onCreate(Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.activity_main);
24         
25         views = new ArrayList<View>();
26         titles = new ArrayList<String>();
27         
28         viewPager = (ViewPager)this.findViewById(R.id.viewPager);
29         
30         LayoutInflater layoutInflater = getLayoutInflater();
31         addInputRecordView = (View)layoutInflater.inflate(R.layout.input_record,null);
32         addExpenditureRecordView = (View)layoutInflater.inflate(R.layout.expenditure_record, null);
33         addTransferRecordView = (View)layoutInflater.inflate(R.layout.transfer_record, null);
34         
35         views.add(addInputRecordView);
36         views.add(addExpenditureRecordView);
37         views.add(addTransferRecordView);
38         
39         titles.add("收入");
40         titles.add("支出");
41         titles.add("转移");
42         
43         myPagerAdapter = new MyPagerAdapter(views,titles);
44         viewPager.setAdapter(myPagerAdapter);
45     }
46 
47 
48     @Override
49     public boolean onCreateOptionsMenu(Menu menu) {
50         // Inflate the menu; this adds items to the action bar if it is present.
51         getMenuInflater().inflate(R.menu.main, menu);
52         return true;
53     }
54     
55 }
View Code

 附:activity_main(1).xml.请改代码与activity_main.xml中的代码替换试试效果

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10 
11         <android.support.v4.view.ViewPager
12         android:id="@+id/viewPager"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:layout_gravity="center"
16         >
17         
18         <android.support.v4.view.PagerTabStrip
19             android:id="@+id/title1"
20             android:layout_width="wrap_content"
21             android:layout_height="wrap_content"
22             android:layout_gravity="top"
23             >
24         </android.support.v4.view.PagerTabStrip>
25     </android.support.v4.view.ViewPager>
26 
27 </RelativeLayout>
View Code
posted @ 2017-12-05 00:46  梦想战士  阅读(69)  评论(0)    收藏  举报