我正在使用作为 ListFragment 一部分的 ListView。我想添加一个具有特定/自定义高度的标题,但是我在标题 View 的高度中放置什么并不重要,它始终具有相同的高度。是否可以修改 ListView 的标题 View 高度?
下面是我使用的代码:
header.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="100dp" />
ListFragment
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
TextView fakeHeader = (TextView)getActivity().getLayoutInflater().inflate(R.layout.header, null);
getListView().addHeaderView(fakeHeader);
}
最佳答案
当您将 null
作为第二个参数传递给 inflate()
时,您表示没有与 View 关联的父级。这有一个不幸的副作用,您使用的任何 layout_
属性都会被忽略,因为 layout_
参数会影响父 View 如何布置 subview ,而不是直接影响 subview (像其他 View 一样): this pro-tip深入了解有关 layout_
属性的更多详细信息。
您可以使用 inflate(R.layout.header, getListView(), false)
传入 ListView,它最终将成为您的标题 View 的父级(注意 false 表示不添加直接查看 - ListView
会自动为您执行此操作)。
关于android - ListView 中的标题 View 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372304/