DevStore首页 > DEV资源 > 源码下载 > 源码详情

Viewpage滑动切换页面

 
Vadumn | 2015-03-03 18:32    浏览量(2987)    评论(3)    收藏(9)
功能分类:特效 支持平台:Android 运行环境:Android
开发语言:Java 开发工具:Eclipse 源码大小:2.98MB
下载源码 577 人下载

源码简介

用Viewpager和fragment实现了滑动切换页面和点击切换的功能,功能简单,适合初学者。

源码截图

  • 运行截图
  • 运行截图
  • 运行截图
DevStore所有源码来自用户上传分享,版权问题及牵扯到商业纠纷均与DevStore无关。

源码片段

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		setlinearLayouts();
		settextview();		
		
		viewPagers = (ViewPager) findViewById(R.id.viewPager);
		List totalFragment = new ArrayList();
		//把页面添加到ViewPager里
		totalFragment.add(new AccountFragment01());
		totalFragment.add(new AccountFragment02());
		totalFragment.add(new AccountFragment03());
		
		viewPagers.setAdapter(new FragmentAdapter(getSupportFragmentManager(),
				totalFragment));
		//设置显示哪页
		viewPagers.setCurrentItem(0);
		
		viewPagers.setOnPageChangeListener(new OnPageChangeListener() {

			@Override
			public void onPageSelected(int arg0) {
				resetlaybg();
				linearLayouts[arg0]
						.setBackgroundResource(R.drawable.linearlayout01s);
				textViews[arg0].setTextColor(getResources().getColor(
						R.color.textcolor));

			}

			@Override
			public void onPageScrolled(int arg0, float arg1, int arg2) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onPageScrollStateChanged(int arg0) {
				// TODO Auto-generated method stub

			}
		});
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	/** 初始化linerlayout */
	public void setlinearLayouts() {
		linearLayouts = new LinearLayout[3];
		linearLayouts[0] = (LinearLayout) findViewById(R.id.lay1);
		linearLayouts[1] = (LinearLayout) findViewById(R.id.lay2);
		linearLayouts[2] = (LinearLayout) findViewById(R.id.lay3);
		linearLayouts[0].setBackgroundResource(R.drawable.linearlayout01s);

	}

	/** 初始化textview */
	public void settextview() {
		textViews = new TextView[3];
		textViews[0] = (TextView) findViewById(R.id.fratext1);
		textViews[1] = (TextView) findViewById(R.id.fratext2);
		textViews[2] = (TextView) findViewById(R.id.fratext3);
		textViews[1].setTextColor(getResources()
				.getColor(R.color.textcolor));
	}

	/** 点击linerlayout实现切换fragment的效果 */
	public void LayoutOnclick(View v) {
		// 每次点击都重置linearLayouts的背景、textViews字体颜色
		switch (v.getId()) {
		case R.id.lay1:
			resetlaybg();
			viewPagers.setCurrentItem(0);
			linearLayouts[0].setBackgroundResource(R.drawable.linearlayout01s);
			textViews[0].setTextColor(getResources().getColor(
					R.color.textcolor));
			break;

		case R.id.lay2:
			resetlaybg();
			viewPagers.setCurrentItem(1);
			linearLayouts[1].setBackgroundResource(R.drawable.linearlayout01s);
			textViews[1].setTextColor(getResources().getColor(
					R.color.textcolor));

			break;
		case R.id.lay3:
			resetlaybg();
			viewPagers.setCurrentItem(2);
			linearLayouts[2].setBackgroundResource(R.drawable.linearlayout01s);
			textViews[2].setTextColor(getResources().getColor(
					R.color.textcolor));

			break;

		}
	}

	/** 重置linearLayouts、textViews */
	public void resetlaybg() {
		for (int i = 0; i < 3; i++) {
			// linearLayouts[i].setBackgroundResource(R.drawable.ai);
			textViews[i].setTextColor(getResources().getColor(R.color.black));
			linearLayouts[i].setBackgroundResource(R.drawable.linearlayout01);
		}

	}
  •   赞(1) 赞 +1 赞(1) 已赞
  •   收藏(9) 收藏 +1 已收藏 取消
  •   下载(577)
评论(3)
stb2000

stb2000 2015-03-06 14:15:52

谢谢LZ分享,
回复(0) 赞(0) 赞(1)
壞蛋

壞蛋 2015-03-04 15:40:58

请问一下,使用viewpager的时候,直接使用view跟使用fragment,有什么大的区别吗?
回复(0) 赞(0) 赞(1)
w2518915

w2518915 2015-03-04 12:10:04

谢谢LZ分享,
回复(0) 赞(1) 赞(2)
  • 推荐
  • 审核
  • 收录
  • 获取活力值

源码上传作者

  • 4 能力值
  • 2 源码
  • 0 评测
  • 0 资料

热门源码