目录(?)[-]

  1. 小例子运行效果
  2. Pre-step一点准备
  3. Step 1Activity的布局

小例子运行效果

这是一个书名和书简介的例子。运行如下图。Activity由左右两个Fragment组成,左边显示书名列表,右边显示书的简介。用户点击左边的书名,右边fragment则自动显示该书的简介。

Pre-step:一点准备

小例子用于学习fragment,书名和简介用数组进行存贮,放在BooksInfo类中,如下:

public class BooksInfo { 
    public static String TITLES[] = { 
        "Henry IV (1)", 
        "Henry V", 
        "Henry VIII", 
        "Romeo and Juliet", 
        "Hamlet", 
        "The Merchant of Venice", 
        "Othello" 
    }; 
    public static String DIALOGUE[] = { 
        "So shaken as we are, so wan with care,…..", 
        "O for a Muse of fire, that would ascend,……", 
        "I come no more to make you laugh: things now, ……", 
        "Two households, both alike in dignity, ……", 
        "Though yet of Hamlet our dear brother's death …… ", 
        "The quality of mercy is not strain'd, ……", 
        "It is Othello's pleasure, our noble and valiant ……" 
    }; 
}

Step 1:Activity的布局

下面的Activity的layout布局。从小例子看,左边的fragment属于主导,右边的fragment呈现的内容,根据左边所确定,左右两边所占空间的比例为1:2。具体的layout文件fragment_basic.xml如下:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" > 
    <!-- 设置左边Fragment的id,并直接通过class属性给出该fragement对应的类为TitleFragment,需要注意fragment并不是view,不支持里面子tag,即不支持<fragment …. ><…></fragment>的格式  -->
    <fragment class="com.wei.flowingflying.pro.ProFragment.TitleFragment"
        android:id="@+id/titles" 

        android:layout_weight="1" 
        android:layout_width="0px" 
        android:layout_height="match_parent" />  
     <!-- 注意:这是FrameLayout,不是fragment,是view,右边fragment的呈现有左边fragment的操作决定,不指定对应的类,可以由不同的类来具体实现UI -->
      <FrameLayout android:id="@+id/details" 
            android:layout_weight="2" 
            android:layout_width="0px" 
            android:layout_height="match_parent" /> 
</LinearLayout>

Activity的代码如下:

public class FragmentBasicTest extends Activity{  
    @Override 
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.fragment_basic);  
    }  
     
    //根据用户点击书面,具体实现右边的fragment,暂略,以后补充。 
    public void showDetails(int index){ 
        ……  
    } 
}

本博文涉及的例子代码,可以在Pro Android学习:Fragment中下载。

相关链接: 我的Android开发相关文章

【转】 Pro Android学习笔记(三七):Fragment(2):基础小例子的更多相关文章

  1. 【转】 Pro Android学习笔记(四二):Fragment(7):切换效果

    目录(?)[-] 利用setTransition 利用setCustomAnimations 通过ObjectAnimator自定义动态效果 程序代码的编写 利用fragment transactio ...

  2. 【转】 Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版

    目录(?)[-] 设置横排和竖排的不同排版风格 改写代码 对于fragment,经常涉及不同屏幕尺寸和不同的排版风格.我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖 ...

  3. 【转】 Pro Android学习笔记(三九):Fragment(4):基础小例子-续

    目录(?)[-] Step 3实现简介显示类DetailFragment 创建实例 编写所需的生命周期代码 Step 4实现showDetailint index如何管理fragment fragme ...

  4. Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity

    文章转载仅仅能用于非商业性质,且不能带有虚拟货币.积分.注冊等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 通过widget定义 ...

  5. 【转】 Pro Android学习笔记(五六):配置变化

    目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...

  6. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  7. 【转】 Pro Android学习笔记(八二):了解Package(1):包和进程

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见P ...

  8. 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET

    目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...

  9. 【转】 Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode

    目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Conten ...

  10. 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式

    可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...

随机推荐

  1. Django之CURD插件

    什么是CURD? CURD顾名思义就是create,update,rearch,delete(所谓的增删改查). 当我们接到一个项目的时候,夸夸夸的就写完表结构,然后就一直写增删改查,增删改查,写了一 ...

  2. SpringMVC的第一个入门案例

    用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在页面中显示. 第一步:导入jar包 在原有Springjar包基础上添加2个jar包 spring-webmvc-4.2.0.R ...

  3. Js拼接html并给onclick传多个参数

    return '<a id="" class="ace_button" href="#" onclick="showItem ...

  4. 私有云的迁移:从VMware到OpenStack

    VMware和OpenStack经常被描述为相互竞争的两种私有云技术.虽然这两种技术其实可以互补,但一些组织却选择从VMware迁移到OpenStack的私有云上. 让我们来看看这些组织如何能同时使用 ...

  5. ubuntu 16.04 jenkins pipline的实现 最终docker启动服务

    准备工作:两台虚拟机A:192.168.1.60 B:192.168.1.61 C:一个存放代码的代码库(github)A:jenkins git docker openssh-server(ssh) ...

  6. python开发环境必备之vim配置

    俗话说:工欲善其事,必先利其器.最近使用python,习惯了liunx和vim,打算将vim作为python开发工具,下面就配置vim,以让它成为python开发的利器,增强我们的开发体验!废话少说, ...

  7. 【Flask】SelectedField 同步数据库

    ## 如果不加入__init__函数会导致,SelectedField表单生成只有里面的内容不会和数据库同步(即数据库添加,删除字段时表单中数据项和初始化时一致.下一次重启app是才会同步) clas ...

  8. python安装包的方式

    easy_install 老版python只有easy_install pip install 说明: 是easy_install的改进版,提供更好的信息提示,添加删除package等功能 安装方式: ...

  9. 申请内存的方式(1,malloc/free;2,new/delete)

    一.malloc/free的方式 // 4个int 的大小int *p = (int*) malloc(16); for (int i = 0; i < 4; ++i) { p[i] = i; ...

  10. JAVA强制类型转换(转载+自己的感想) - stemon

    JAVA强制类型转换(转载+自己的感想) - stemon 时间 2013-10-29 15:52:00  博客园-Java原文  http://www.cnblogs.com/stemon/p/33 ...