• Android Fragment的设计哲学

    解决屏幕适配问题
    服务器君一共花费 10.240 ms 进行了 3 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    Android在3.0中引入了Fragments的概念,主要目的是用在大屏幕设备上 —— 例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment允许这样的一种设计,而不需要你亲自来管理 viewhierarchy的复杂变化。 通过将activity的布局分散到fragment中,你可以在运行时修改activity的外观,并在由activity管理的back stack中保存那些变化。

    例如,一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 —— 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输入事件。 因此,取代使用一个activity来选择一篇文章而另一个activity来阅读文章的方式,用户可以在同一个activity中选择一篇文章并且阅读,如图所示:

    fragment在你的应用中应当是一个模块化和可重用的组件。即,因为fragment定义了它自己的布局,以及通过使用它自己的生命周期回调方法定义了它自己的行为,你可以将fragment包含到多个activity中。这点特别重要,因为这允许你将你的用户体验适配到不同的屏幕尺寸。举个例子,你可能会仅当在屏幕尺寸足够大时,在一个activity中包含多个fragment,并且,当不属于这种情况时,会启动另一个单独的,使用不同fragment的activity。

    继续之前那个新闻的例子 —— 当运行在一个特别大的屏幕时(例如平板电脑),应用可以在Activity A中嵌入2个fragment。然而,在一个正常尺寸的屏幕(例如手机)上,没有足够的空间同时供2个fragment用,因此,Activity A会仅包含文章列表的fragment,而当用户选择一篇文章时,它会启动ActivityB,它包含阅读文章的fragment。因此,应用可以同时支持上图中的2种设计模式。

更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [数据结构] 散列表(哈希表) 13 个条目
  2. [软件工程与项目管理] 浏览器与CSS渲染技巧 2 个条目
  3. [移动开发] Android 网络通信框架Volley 1 个条目
  4. [移动开发] 使用support-v7 ActionBar前的那些坑 3 个条目
  5. [软件工程与项目管理] 浏览器初步介绍 8 个条目
  6. [移动开发] 从代码角度去认识 Thread 9 个条目
  7. [搜索引擎优化] 与百度权重有关的信息 2 个条目
  8. [Python程序设计] Django架构流程分析 7 个条目
  9. [JavaScript程序设计] jQuery与表单操作 2 个条目
  10. [计算机算法] TAOCP与算法 12 个条目
  11. [数据库技术] 无限级分类数据表设计 4 个条目
  12. [移动开发] Android View注入框架Butter Knife 3 个条目
窗口 -- [资讯]