- 环境
- 项目结构
- 演示 1:PagerTitleStrip
- 演示 2:PagerTabStrip
- 演示 3:ViewPager 和动态 Fragment
下载 Demo
环境
- Windows 2008 R2 64 位
- Eclipse ADT V22.6.2,Android 4.4.2(API 19)
- SAMSUNG GT-8618,Android OS 4.1.2
项目结构
图 1 项目结构
图 2 项目主界面
演示 1:PagerTitleStrip
演示 1 和演示 2 都是利用已有的静态的 xml 页面布局,作为 Pager 的 tab 页。通过 LayoutInflater 将 xml 布局文件,变成 View,供 ViewPager 使用。
图 3 演示 PagerTitleStrip 和点击“微博”按钮
package com.example.viewpagerdemo2.ui;
import java.util.ArrayList;
import java.util.List;
import com.example.viewpagerdemo2.R;
import com.example.viewpagerdemo2.adapter.NewPagerAdapter;
import android.os.Bundle;
import android.app.Activity;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
public class PagerTitleStripDemo extends Activity {
private View view1, view2, view3;
private ViewPager viewPager;
private NewPagerAdapter pagerAdapter;
private PagerTitleStrip myPagerTitleStrip;
private List<View> viewList;
private List<String> titleList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_title);
initClass();
initData();
initControl();
initViewPager();
}
private void initClass() {
viewList = new ArrayList<View>();
titleList = new ArrayList<String>();
}
private void initData() {
for (int i = 1; i <= 3; i++) {
titleList.add(String.format("演示1页%s", i));
}
LayoutInflater lf = LayoutInflater.from(this);
view1 = lf.inflate(R.layout.layout1, null);
view2 = lf.inflate(R.layout.layout2, null);
view3 = lf.inflate(R.layout.layout3, null);
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
}
private void initControl() {
viewPager = (ViewPager) findViewById(R.id.myViewPager1);
myPagerTitleStrip = (PagerTitleStrip) findViewById(R.id.myPagerTitleStrip);
pagerAdapter = new NewPagerAdapter(this, titleList, viewList);
}
private void initViewPager() {
myPagerTitleStrip.setBackgroundColor(getResources().getColor(
R.color.green));
myPagerTitleStrip.setTextSpacing(50);
viewPager.setAdapter(pagerAdapter);
}
}