我正在使用属于ListFragment的ListView。我想添加一个具有特定/自定义高度的标题,但是我在标题视图的高度放置并不重要,它总是具有相同的高度。是否可以修改ListView的标题视图高度?
在我使用的代码下面:
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);
}
答案 0 :(得分:30)
当您将null
作为第二个参数传递给inflate()
时,您说没有与该视图关联的父级。这会产生令人遗憾的副作用,因为您使用的任何layout_
属性都会被忽略,因为layout_
参数会影响父级放置子视图的方式,而不会直接影响子级(与其他视图一样):{{3} } godes详细了解layout_
属性。
您可以使用inflate(R.layout.header, getListView(), false)
传递ListView,它最终会成为您的标题视图的父级(请注意false表示不直接添加视图 - ListView
会自动为您执行此操作)。