1.布局代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:tabIndicatorColor="#ffffff"
app:tabIndicatorHeight="2dp"
app:tabMode="fixed"
app:tabSelectedTextColor="#000"
app:tabTextColor="#ffffff">
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</android.support.v4.view.ViewPager>
</LinearLayout>
2.新建几个布局文件作为ViewPaper的子控件。
3.Java代码
public class MainActivity extends AppCompatActivity {
private TabLayout tablayout;
private ViewPager viewpager;
private List<View> list = new ArrayList<>();
private String[] title = {"TimePicker", "DatePicker"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vierpagersx();/*添加Viewpager*/
}
public void vierpagersx (){
tablayout = (TabLayout) findViewById(R.id.tablayout);
viewpager = (ViewPager) findViewById(R.id.viewpager);
list.add(getLayoutInflater().inflate(R.layout.view1, null));
list.add(getLayoutInflater().inflate(R.layout.view2, null));
viewpager.setAdapter(new MyViewPagerAdapter(title,list));
tablayout.setupWithViewPager(viewpager);
}
}
Adapter
public class MyViewPagerAdapter extends PagerAdapter {
private String[] mTitle;
private List<View> mList;
public MyViewPagerAdapter(String[] title,List<View> list){
super();
mTitle=title;
mList=list;
}
public int getCount() {
return mList.size();
}
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(mList.get(position));
}
public CharSequence getPageTitle(int position) {
return mTitle[position];
}
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mList.get(position));
return mList.get(position);
}
}