Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ViewPage第二課為ViewPage添加標題

ViewPage第二課為ViewPage添加標題

編輯:關於Android編程

在第一課

學前准備:掌握ViewPage第一課http://blog.csdn.net/wei_chong_chong/article/details/50468832
為ViewPage添加標題:
PageTabStrip是PageTitleStrip的子類
PageTabStrip的使用與PageTitleStrip完全一樣,
實現效果,pageTabStrip的標題文字帶有Indicator,並且可以通過點擊標題切換頁面的顯示。
使用直接把下面的第一步中的

布局文件:


        

具體如下:

 

        
        
    


第二步:MainActivity中添加

private List titles;
並初始化
titles = new ArrayList();
titles.add("page01");
titles.add("page02");
titles.add("page03");
titles.add("page04");
並在內部類中實現方法:




@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titles.get(position);
}


具體如下:

public class MainActivity extends Activity {
	private ViewPager viewpager;
	private List children;

	private List titles;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		viewpager = (ViewPager) findViewById(R.id.vp_viewpage);
		children = new ArrayList();
		children.add(LayoutInflater.from(this).inflate(R.layout.page01, null));
		children.add(getLayoutInflater().inflate(R.layout.page02, null));
		children.add(getLayoutInflater().inflate(R.layout.page03, null));
		children.add(getLayoutInflater().inflate(R.layout.page04, null));
		titles = new ArrayList();
		titles.add("page01");
		titles.add("page02");
		titles.add("page03");
		titles.add("page04");
		viewpager.setAdapter(new InnerPagerAdapter());
	}
	public class InnerPagerAdapter extends PagerAdapter{
		@Override
		public CharSequence getPageTitle(int position) {
			// TODO Auto-generated method stub
			return titles.get(position);
		}

		@Override
		public int getCount() {
			//獲取子級布局的數量

			return children.size();//返回viewpage容器中子級布局的個數,
		}

		@Override
		public boolean isViewFromObject(View view, Object object) {
			// 判斷某個View對象是否為當前被添加到ViewPager容器中的對象
			return view == object;
		}

		//下面兩個方法是PageAdapter中必須實現的非抽象方法
		@Override
		public Object instantiateItem(ViewGroup container, int position) {
			// 實例化ViewPager容器中指定的position位置需要顯示的View對象
			View view = children.get(position);
			container.addView(view);


			return view;
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			//在ViewPager中移除指定的position位置的View對象
			container.removeView(children.get(position));
		}
	}

}


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved