我创建了新的android项目,从库中选择主要活动为Tabbed活动,并将RecyclerView添加为布局文件中的主要片段内容,而不是从模板中提供TextView。我将LinearLayoutManager添加到RecyclerView。就这么简单。
在我开始这个简单的演示之后会发生的事情是,无论大小设置为match_parent,RecyclerView都会超出屏幕范围。它超出了工具栏的大小,我的屏幕可以滚动,这是我不想要的行为。
如果我放置ListView而不是RecyclerView或放置RecyclerView而没有LayoutManager,或删除工具栏,一切都正常(没有屏幕滚动)。
以下是fragment_main.xml文件的内容:
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="LinearLayoutManager"
tools:context="test.com.myapplication.MainActivity$PlaceholderFragment">
这是片段代码膨胀视图:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main, container, false);
}
以下是活动行为的GIF: Screen that scrolls
我应该怎么做才能让RecyclerView适应边界而不是让我的活动可滚动?就像我说的,它适用于:将RecyclerView更改为ListView,或删除工具栏,但我需要知道如何使用RecyclerView和工具栏来解决这个问题。