java - 使用 XML for Fragments 有什么意义?

标签 java android xml android-fragments

当我学习 Fragments 和 Android 编码时,我想知道为什么官方文档首先建议对 Fragments 使用 XML?当您知道您的 Fragment 不会在运行时被删除或修改时,XML 就可以了。然而,如果我引用Intro to Fragments Documentation,那么进行这种实践有什么意义呢?这里:

"To create a dynamic and multi-pane user interface on Android"

与以编程方式构建 XML 相比,使用 XML 有何意义?我应该花时间学习静态方法来构建旨在使您的应用程序更加动态的组件吗?

感谢您的见解!

最佳答案

出于同样的原因,您可以在 Activity 中使用 XML。 fragment 有点像嵌套的 Activity ,它们使您能够将 UI 分成几个独立的组件(它们可能会或可能不会相互交互)。每个 fragment 管理自己的布局。尽可能使用 XML,而不是使用 Activity 和 Fragments 动态创建 View 。 Fragment 的动态特性在于,您可以随时用一个 Fragment 替换另一个 Fragment,甚至可以在不同的 Activity 中重用 Fragment,但每个 Fragment 都有一个大部分是预定义的布局,这就是您要使用 XML 的原因。

当他们在教程中提到动态时,他们不仅仅指代码中的动态。它们也意味着设计。例如,看看教程中的这个图:

enter image description here

对于平板电脑,您可能希望在同一屏幕中使用两个 fragment ,因为有更多的“空间”。对于智能手机来说,将两个 fragment 放在一起会太拥挤,因此您每次只能使用一个 fragment ,并导航到另一个 fragment 以响应用户与 UI 的交互。因此,您只需使用其生命周期、外观和感觉以及逻辑来构建 Fragments 一次,然后就可以根据您当前的环境(更宽的屏幕、更高的屏幕……)以多种不同的方式使用它们。

关于java - 使用 XML for Fragments 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32929669/

相关文章:

java - Sprite 数组列表永远行不通!需要帮助了解如何在 JAVA 中创建类实例数组

xml - 在 oracle 的 XML 文档中添加命名空间

java - 父类(super class)方法需要引用它的另一个(尽管被覆盖)方法

java - 嵌套类的构造函数问题

java - 如何将文件写入 Android SD 卡并在 PC 上可见

c++ - XML 与硬编码接口(interface)?

xml - 按日期排序 xml 时出现问题<xsl :sort select =""/>

java - 枚举中的 child

java - AudioInputSream 给出 nullPointerException

android - 双启动 - 手机上的最新 2 "original"Android 和 iPhone 版本