【问题标题】:Android studio - new Activity with Fragment (XML files explanation)Android studio - 新 Activity with Fragment(XML 文件解释)
【发布时间】:2015-12-16 03:38:40
【问题描述】:

我想在 Android Studio 中创建一个新的 Activity,以 MainActivity 作为父级。虽然,当我创建一个添加了片段的空白活动(例如NewActivity)时,我得到了两个预期的类
NewActivityNewActivityFragment)但是当我检查布局资源时,我不明白为什么会自动生成 3 个 XML 文件,它们的含义是什么?

  • 生成的每个 XML 文件的确切含义是什么? 3 个 XML 文件如下:activity_new.xmlfragment_new.xmlcontent_new.xml

例如,如果我想在第二个活动中添加TextView,我应该修改哪个 XML 文件?

【问题讨论】:

  • 你能发布一些你正在尝试的代码吗?
  • 我并不是在尝试特定的东西,我只是想了解每个 XML 文件的含义。

标签: android android-layout android-fragments android-studio


【解决方案1】:

当您使用 Android Studio 中的向导创建带有 Fragment 的 New Activity 时,它将生成两个 src 文件:

  • NewActivity.java
  • NewActivityFragment.java

和三个 res 文件:

  • activity_new.xml
  • content_new.xml
  • fragment_new.xml

详情如下:

  1. Activity 类 NewActivity.java 在 onCreate() 方法中扩展了布局 activity_new.xml,如下所示。

    setContentView(R.layout.activity_new); 此布局是一个 CoordinatorLayout,包含 Appbarlayout、FAB 和主要组件的容器。

  2. activity_new.xml 使用 include 标签包含另一个布局。

  3. content_new.xml 是一个片段 xml 文件,包含定义其布局的属性。 观察者 content_new.xml 具有如下属性

    工具:layout="@layout/fragment_new"

  4. fragment_new.xml 是在 NewActivityFragment onCreateView() 方法中膨胀的布局。

    inflater.inflate(R.layout.fragment_new, container, false);

fragment_new.xml 是布局文件,您可以在其中添加要在片段中显示的组件。因此,根据您在片段中添加TextView 的要求,您需要将其添加到fragment_new.xml 中。

【讨论】:

    【解决方案2】:

    如果您检查activity_new.xml,您将看到一个<include> 标记调用content_new.xml。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2012-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多