【问题标题】:What is the best practice when design a bundle of complex view layouts within a Fragment in Android?在 Android 的 Fragment 中设计一组复杂的视图布局时,最佳实践是什么?
【发布时间】:2020-09-06 10:18:52
【问题描述】:

我需要在 Fragment 中设计一个非常复杂的布局。但我现在只有两种策略。 首先,使用一组 ViewGroup 将视图逻辑组织在一起。
其次,使用一束 Fragments 作为 MainFragment 的子项。但我担心性能,因为创建 Fragment 比创建视图更昂贵。

【问题讨论】:

  • 现在安卓手机也都在1GHz以上,或许你可以试试看是不是速度太慢了。做个慢原型也不错。
  • 这取决于复杂视图背后的逻辑。如果逻辑可以分解为依赖最少的模块,请选择Fragments。如果没有,请跟上Views。在这种情况下,使用Views 和layouts 的明智组合可以解决任何复杂的问题。

标签: android view fragment


【解决方案1】:

如果您的视图需要在同一个 Activity 中,请尝试使用 ConstrainLayout

根据文档:

ConstraintLayout 允许您创建具有平面视图层次结构(无嵌套视图组)的大型复杂布局。它与RelativeLayout 类似,所有视图都根据兄弟视图和父布局之间的关系进行布局,但它比RelativeLayout 更灵活,更易于与Android Studio 的布局编辑器一起使用。

将 ConstraintLayout 添加到您的应用并同步项目:

dependencies {
    implementation "androidx.constraintlayout:constraintlayout:2.0.0"
}

要将现有布局转换为约束布局,请执行以下步骤:

  1. 在 Android Studio 中打开您的布局,然后单击编辑器窗口底部的“设计”选项卡。
  2. 在“组件树”窗口中,右键单击布局,然后单击将布局转换为 ConstraintLayout。 这是一个很好的教程,你可以阅读:ConstraintLayout Tutorial

【讨论】:

    猜你喜欢
    • 2013-10-04
    • 2016-08-11
    • 2012-10-30
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多