在遇到这个之前我已经升级了我的android工作室。
我需要片段空白活动。 我正在使用片段创建“DetailActivity”的新活动。它创造了两个 源文件
1)DetailActivity.java
2)DetailActivityFragment.java
还创建了3个其他源文件,即
1)Activity_Detail.xml
2)Fragment_Detail.xml
3)Content_Detail.xml
我理解了两个源文件的重要性,但并没有真正理解这3个源文件的重要性。
我的问题是: Activity_Detail.xml中有一个标记,即:
<include layout="@layout/content_detail" />
这意味着我们可以继续在 Content_Detail.xml (我的理解)中添加我们的ui元素
那么为什么我们有 Fragment_Detail.xml
Fragment_Detail.xml 的目的是什么? 如果UI元素应该在 Fragment_Detail.xml 中,那么 Content_Detail.xml
的目的是什么UI元素应该去哪里: Fragment_Detail.xml 或 Content_Detail.xml ?
Android Studio 2.2版
api版本:22
Android M。
答案 0 :(得分:0)
那么为什么我们有Fragment_Detail.xml?
因为您可能在通过向导创建活动时忘记取消勾选此选项:
这意味着我们可以继续在Content_Detail.xml(我的理解)中添加我们的ui元素
是的,这是正确的。但您也可以向activity_detail
添加UI元素,this question说明哪些元素用于哪些元素。
答案 1 :(得分:0)
如果您生成一个带有片段的新项目,那么它会生成这三个文件,以分离您正在创建的DetailActivity的不同组件。
第一个是 activity_main.xml ,其中包含与AppBar布局相关的所有信息,可能是浮动操作按钮,如果您查看代码,则会有以下行:
<include layout="@layout/content_main" />
此行代码将 content_main.xml 文件嵌入 activity_main.xml 文件中。 content_main.xml 只是片段的定义:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragment"
android:name="csci567.examples.myapplication.MainActivityFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:layout="@layout/fragment_main" />
如果您注意到最后一行定义了片段的布局,则将其作为 fragment_main.xml 文件。这确实突破了定义片段的位置以及定义活动的位置。它还将活动主体其余部分的内容分离到 content_main.xml 文件中。
希望有所帮助。