/*PagerTabStrip在当前页面下,会有一个下划线条来提示当前页面的Tab是哪个。
PagerTabStrip的Tab是可以点击的,当用户点击某一个Tab时,当前页面就会跳转到这个页面,而PagerTitleStrip则没这个功能。
*/
PagerTitleStrip
PagerTabStrip
1。PagerTitleStripAty
package com.louis.louispagertitlestripandpagertabstrip;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class PagerTitleStripAty extends AppCompatActivity {
List<View> views= new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pager_title_strip_aty);
ViewPager viewPager= (ViewPager) findViewById(R.id.id_vp);
// View view= LayoutInflater.from(this).inflate(R.layout.vp_content,null);
//LinearLayout linearLayout= (LinearLayout) view.findViewById(R.id.id_ll_con);
for (int i=0;i<5;i++){
TextView textView=new TextView(this);
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
textView.setLayoutParams(layoutParams);
textView.setGravity(Gravity.CENTER);
textView.setText("页面" + i);
//linearLayout.addView(textView);
views.add(textView);
}
PagerTitlePagerAdapter myPagerAdapter=new PagerTitlePagerAdapter(views);
viewPager.setAdapter(myPagerAdapter);
}
}
2。xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.louis.louispagertitlestripandpagertabstrip.PagerTitleStripAty">
<android.support.v4.view.ViewPager
android:id="@+id/id_vp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--android:layout_gravity=""的值要设置为top或bottom。将标题栏显示在顶部或底部-->
<android.support.v4.view.PagerTitleStrip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
>
</android.support.v4.view.PagerTitleStrip>
</android.support.v4.view.ViewPager>
</RelativeLayout>
3。PagerTitlePagerAdapter
package com.louis.louispagertitlestripandpagertabstrip;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;
/**
* Created by Administrator on 2016/3/22.
*/
public class PagerTitlePagerAdapter extends PagerAdapter {
List<View> views;
public PagerTitlePagerAdapter(List<View> views) {
this.views = views;
}
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView(views.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// return super.instantiateItem(container, position);
View view= views.get(position);
container.addView(view);
return view;
}
@Override
public CharSequence getPageTitle(int position) {
// return super.getPageTitle(position);
return "标记"+position;
}
}
一。PagerTabStripAty
package com.louis.louispagertitlestripandpagertabstrip;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class PagerTabStripAty extends AppCompatActivity {
List<View> views= new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pager_tab_strip_aty);
ViewPager viewPager= (ViewPager) findViewById(R.id.id_vp);
PagerTabStrip pagerTabStrip= (PagerTabStrip) findViewById(R.id.id_pts);
for (int i=0;i<5;i++){
TextView textView=new TextView(this);
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
textView.setLayoutParams(layoutParams);
textView.setGravity(Gravity.CENTER);
textView.setText("页面" + i);
//linearLayout.addView(textView);
views.add(textView);
}
pagerTabStrip.setTabIndicatorColorResource(android.R.color.holo_red_dark);
PagerTabPagerAdapter myPagerAdapter=new PagerTabPagerAdapter(views);
viewPager.setAdapter(myPagerAdapter);
}
}
二、xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.louis.louispagertitlestripandpagertabstrip.PagerTabStripAty">
<android.support.v4.view.ViewPager
android:id="@+id/id_vp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--android:layout_gravity=""的值要设置为top或bottom。将标题栏显示在顶部或底部-->
<android.support.v4.view.PagerTabStrip
android:id="@+id/id_pts"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
>
</android.support.v4.view.PagerTabStrip>
</android.support.v4.view.ViewPager>
</RelativeLayout>
三、PagerTabPagerAdapter
package com.louis.louispagertitlestripandpagertabstrip;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;
/**
* Created by Administrator on 2016/3/22.
*/
public class PagerTabPagerAdapter extends PagerAdapter {
List<View> views;
public PagerTabPagerAdapter(List<View> views) {
this.views = views;
}
@Override
public int getCount() {
return views.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView(views.get(position));
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// return super.instantiateItem(container, position);
View view= views.get(position);
container.addView(view);
return view;
}
@Override
public CharSequence getPageTitle(int position) {
// return super.getPageTitle(position);
return "标记"+position;
}
}