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>
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>
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>
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 }
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 }
附: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>

浙公网安备 33010602011771号