我有以下布局(为简洁起见,我删除了不同的属性):
<RelativeLayout>
<LinearLayout>
<android.support.v7.widget.Toolbar/>
<LinearLayout android:id="@+id/item1"/>
<LinearLayout android:id="@+id/item2"/>
<LinearLayout android:id="@+id/item3"/>
<ListView/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton/>
</RelativeLayout>
我试图让整个页面都可以滚动。目前,只有 ListView 滚动。知道怎么做吗?请注意,由于我嵌入了 ListView,因此我无法使用 ScrollView。此外,外部元素必须是 RelativeLayout,因为无论滚动如何,我都需要固定 FloatingActionButton。
最佳答案
在 ScrollView
中包含一个 ListView
会给您带来很多麻烦。而是只在布局中保留 ListView
<RelativeLayout>
<LinearLayout>
<android.support.v7.widget.Toolbar/>
<ListView/>
</LinearLayout>
<android.support.design.widget.FloatingActionButton/>
</RelativeLayout>
并将您的LinearLayouts
移动到单独的文件中(例如header.xml)
<LinearLayout>
<LinearLayout android:id="@+id/item1"/>
<LinearLayout android:id="@+id/item2"/>
<LinearLayout android:id="@+id/item3"/>
</LinearLayout>
然后您可以将布局作为标题添加到您的 ListView
中
ListView listView = (ListView) findViewById(R.id.list);
View header = LayoutInflater.from(context).inflate(R.layout.header, listView, false);
listView.addHeaderView(header); // call before you set adapter!
现在整个 View 都可以滚动了。如果您使用 onItemClickListener
,请不要忘记索引会被 listView.getHeaderViewsCount()
移动。
关于Android - 没有滚动条的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020748/