我很困惑,我有3个片段和DrawerView的app。我需要将项目放在列表中并能够向下滚动,如果我更改布局,我会收到错误,请查看我的XML,+我有点困惑,我应该在哪里放置我的内容(main_activity.xml或fragment_home.xml)因为如果我在其中任何一个中放入任何内容,就会出现内容。谢谢。
activity_main
<!-- Layout to contain contents of main body of screen (drawer will slide over this) -->
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
/>
</FrameLayout>
<!-- Container for contents of drawer - use NavigationView to make configuration easier -->
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view" />
</android.support.v4.widget.DrawerLayout>
fragment_home.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HomeFragment">
</FrameLayout>
这个在我的“Home Fragment”java文件中说明了
public class HomeFragment extends Fragment {
public HomeFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_home, container, false);
}
}
PS - 在该项目中根本没有任何内容,只有工具栏显示3点按钮打开抽屉(或者你可以滑动到达那里)并且有一个菜单可以获取其他片段。
答案 0 :(得分:0)
将fragment_home.xml的父级设为NestedScrollView,使片段使用fragment_home.xml,并将活动用于activity_main.xml
如果您是新手,那么创建新项目并选择NavigationDrawer,它将提供现成的模板。