我有activity.xml
。
如您所见,它是相对布局。我希望包含片段的Frame布局将位于工具栏下方。
肯定会添加片段。但它在顶部添加,覆盖工具栏。只是想知道我做错了什么。
网站不会因为某些原因让我添加代码。它告诉我它没有正确格式化。这是activity.xml布局。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" android:fitsSystemWindows="true"
>
<!--scroll|snap-->
<android.support.v7.widget.Toolbar
android:id="@+id/appToolBar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolBarHeight"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<FrameLayout
android:id="@android:id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/appToolBar"/>
</RelativeLayout>
&#13;
这就是我在Activity.java文件中所做的。
getFragmentManager().beginTransaction().add(android.R.id.content, SetupFrag.createInstance(false), SETUP_FRAGMENT).commit();
答案 0 :(得分:3)
您正在使用现有ID @android:id/content
您应该使用+
添加自己的ID @+id/content
,否则片段将被添加到内容视图(活动布局上方的级别)。
答案 1 :(得分:1)
您应该使用不同的根布局。
RelativeLayout将相对于彼此布置其子项。
您想要的是具有垂直方向的LinearLayout
。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:orientation="vertical"
>
<android.support.v7.widget.Toolbar
android:id="@+id/appToolBar"
android:layout_width="match_parent"
android:layout_height="@dimen/toolBarHeight"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>