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;
}
}

Viewpaer+fragment的更多相关文章

  1. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  2. 札记:Fragment基础

    Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要"注册"的.组件的特性使得一个Activit ...

  3. EventBus实现activity跟fragment交互数据

    最近老是听到技术群里面有人提出需求,activity跟fragment交互数据,或者从一个activity跳转到另外一个activity的fragment,所以我给大家介绍一个开源项目,EventBu ...

  4. Android:Activity+Fragment及它们之间的数据交换.

    Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...

  5. Android中Fragment和ViewPager那点事儿(仿微信APP)

    在之前的博文<Android中使用ViewPager实现屏幕页面切换和引导页效果实现>和<Android中Fragment的两种创建方式>以及<Android中Fragm ...

  6. Android开发学习—— Fragment

    #Fragment* 用途:在一个Activity里切换界面,切换界面时只切换Fragment里面的内容* 生命周期方法跟Activity一致,可以理解把其为就是一个Activity* 定义布局文件作 ...

  7. Android中Fragment与Activity之间的交互(两种实现方式)

    (未给Fragment的布局设置BackGound) 之前关于Android中Fragment的概念以及创建方式,我专门写了一篇博文<Android中Fragment的两种创建方式>,就如 ...

  8. Android中Fragment的两种创建方式

    fragment是Activity中用户界面的一个行为或者是一部分.你可以在一个单独的Activity上把多个Fragment组合成为一个多区域的UI,并且可以在多个Activity中再使用.你可以认 ...

  9. Android Fragment 剖析

    1.Fragment如何产生?2.什么是Fragment Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后 ...

随机推荐

  1. python pickle 和 shelve模块

    pickle和shelve模块都可以把python对象存储到文件中,下面来看看它们的用法吧 1.pickle 写: 以写方式打开一个文件描述符,调用pickle.dump把对象写进去 dn = {'b ...

  2. jquery 操作select

    jQuery("#select_id").change(function(){}); // 1.为Select添加事件,当选择其中一项时触发 var checkValue = jQ ...

  3. Azure 意外重启, 丢失sql server master表和 filezilla

    突然发现今晚网站打不开了,提示连不上数据库. ftp也连不上了. 远程连上Azure 发现机器意外重启, 丢失sql server master表和 filezilla 要重新安装. 又耗费我几个小时 ...

  4. 不等高cell的tableView界面搭建

    一.搭建界面 1.界面分析 分析界面的层次结构,分析界面应该用什么控件来搭建 2.界面层次结构 分析之后,我们可以把这个界面分为四个模块(topView middleView commentView ...

  5. PostgreSQL应用相关问题解决

    PostgreSQL中是否区分聚簇索引与非聚簇索引的问题? 答:PostgreSQL中区分聚簇索引与非聚簇索引. 示例如下: 创建聚族索引: CREATE INDEX test_ind ON yy ( ...

  6. Ini文件操作函数

    /// <summary> /// Copies a string into the specified section of an initialization file. /// &l ...

  7. JSP文件编码

    1. pageEncoding: <%@ page pageEncoding="UTF-8"%> jsp页面编码: jsp文件本身的编码 2. contentType: ...

  8. POJ 2947 Widget Factory(高斯消元)

    Description The widget factory produces several different kinds of widgets. Each widget is carefully ...

  9. ORACLE 默认密码确认

    select USER_NAME USER_WITH_DEFAULT_PASSWORD from ( select fnd_web_sec.validate_login('AME_INVALID_AP ...

  10. 夺命雷公狗---Thinkphp----7之栏目配合Model的增删改查

    我们首先来写一个查: public function lists(){ $type = M('Type')->select(); $this -> assign('type',$type) ...