1、碎片的动态切换:
1-1:页面填写
<FrameLayout
android:id="@+id/fl_layout"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<fragment
android:id="@+id/fragment_two"
android:name="com.firefly.fragment.FragmentTwo"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<fragment
android:id="@+id/fragment_one"
android:name="com.firefly.fragment.FragmentOne"
android:layout_width="match_parent"
android:layout_height="50dp"/>
1-2:在Activity中新建碎片
FragmentTwo f2 = new FragmentTwo();
……
1-3:新建FragmentManager管理碎片
1-4:点击后切换
fm.beginTransaction().replace(R.id.fl_layout, f3).commit();

2、加入ViewPager,实现滑动切换与点击切换
2-1:在xml文件中写入<android.support.v4.view.ViewPager/>
2-2:在Activity文件中写入它的ViewPager及List<Fragment>
ViewPager pager;
List<Fragment> list = new ArrayList<Fragment>();
list.add(new FragmentTwo());
list.add(new FragmentThere());
list.add(new FragmentFour());
2-3:写适配器
注:此处的适配器为FragmentPagerAdapter,要么统一导入v4包下面的,谨慎使用v13包下面的
FragmentPagerAdapter adapter = new FragmentPagerAdapter(fm) {

@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}

@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
};
2-4:写入viewpager的监听事件,即点击切换及换背景色
pager.setOnPageChangeListener(new OnPageChangeListener(){代码}
写入它的3个方法
选择时:
public void onPageSelected(int index)
页面滑动后:
public void onPageScrolled(int arg0, float arg1, int arg2)
页面滑动时:
public void onPageScrollStateChanged(int arg0)
2-5:写入TextView或Button的点击方法
public void Test(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.tv1:
pager.setCurrentItem(0);
break;

case R.id.tv2:
pager.setCurrentItem(1);
break;

case R.id.tv3:
pager.setCurrentItem(2);
break;

default:
break;
}
}

最新文章

  1. HDU 4081Qin Shi Huang&#39;s National Road System(次小生成树)
  2. Android异常:唤醒锁未授权。(Caused by: java.lang.SecurityException: Neither user 10044 nor current process has android.permission.WAKE_LOCK.)
  3. Qt控制台中文乱码问题
  4. sqlserver工作日常使用sql--持续完善中
  5. Unable to execute dex: Multiple dex files define Lcom/kenai/jbosh/AbstractAttr
  6. HDU 2125 Local area network
  7. MySQL 5.7原生JSON格式支持
  8. 用frame实现最基本的上中下三层布局,中间又分左右两部分.
  9. C:应用于字符串处理函数
  10. Javascript跨域请求的几种解决方法
  11. Java开发小技巧(三):Maven多工程依赖项目
  12. OSI模型和TCP/IP协议族(三)
  13. Response ServletContext 中文乱码 Request 编码 请求行 共享数据 转发重定向
  14. 源码编译安装php7
  15. Timus 1132 Square Root(二次剩余 解法2)
  16. [CC-ADJLEAF2]Adjacent Leaves
  17. 10-SQL Server 2008 R2安装步骤
  18. Tomcat学习总结(4)——基于Tomcat7、Java、WebSocket的服务器推送聊天室
  19. 20165230 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
  20. RegisterStartupScript 后退重复提示解决方法

热门文章

  1. iOS tableViewCell侧滑改变收藏状态
  2. [Sublime Text] How to Install Sublime Text on Ubuntu
  3. CGRect 结构体的另外一种写法
  4. 我写了本破书-swift语言实战晋级
  5. SLF4J环境变量配置
  6. 转:Java实现几种常见排序方法
  7. [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
  8. SQL查询 练习题
  9. BroadCast Receive 生命周期
  10. 直关的sql 联级更新语句