先是布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:orientation="vertical" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" > <android.support.v4.view.PagerTabStrip android:id="@+id/pagerTab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top"/> </android.support.v4.view.ViewPager> </LinearLayout>
然后直接代码。实现功能很简单,在此不做过多解释。
private PagerTabStrip pagerTab; private ViewPager viewpager; private Context context; private List<View> views = new ArrayList<>(); private List<String> titles = new ArrayList<>(); private View view1, view2, view3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context = getApplicationContext(); ActionBar actionBar = getSupportActionBar(); actionBar.hide(); View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLAG_FULLSCREEN; decorView.setSystemUiVisibility(option); initView(); } private void initView() { pagerTab = (PagerTabStrip) findViewById(R.id.pagerTab); viewpager = (ViewPager) findViewById(R.id.viewpager); view1 = LayoutInflater.from(context).inflate(R.layout.view1,null); view2 = LayoutInflater.from(context).inflate(R.layout.view2,null); view3 = LayoutInflater.from(context).inflate(R.layout.view3,null); views.add(view1); views.add(view2); views.add(view3); viewpager.setAdapter(new PagerAdapter() { @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object object) { return view==object; } @NonNull @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { container.addView(views.get(position)); return views.get(position); } @Nullable @Override public CharSequence getPageTitle(int position) { return titles.get(position); } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView(views.get(position)); } }); titles.add("第一个"); titles.add("第二个"); titles.add("第三个"); pagerTab.setTabIndicatorColor(Color.YELLOW); pagerTab.setBackgroundColor(getResources().getColor(R.color.colorAccent)); pagerTab.setTextSpacing(50); } }
直接复制上就可以运行。对了,需要自己新建几个布局文件。
嗯,就这样